如何在Django根项目(非独立应用)中连接SQLite并解决迁移报错
解决方案
1. 修正模型代码语法与继承错误
你当前的模型存在两处核心错误:字段定义拆分到两行导致语法错误、facultylogin类未继承Django的models.Model不被识别为ORM模型,修正后的代码如下:
from django.db import models class studentlogin(models.Model): stu_name = models.CharField(max_length=30, default='', null=False) stu_email = models.EmailField(max_length=20, default='', null=False) stu_password = models.SlugField(max_length=15, default='', null=False) class facultylogin(models.Model): fac_name = models.CharField(max_length=30, default='', null=False) fac_email = models.EmailField(max_length=20, default='', null=False) fac_password = models.SlugField(max_length=15, default='', null=False)
2. 修正INSTALLED_APPS配置
将你的根项目名称以字符串格式添加到settings.py的INSTALLED_APPS列表中,注意不要漏写引号、逗号,示例配置如下:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 替换为你的根项目实际名称 '你的根项目名', ]
你之前遇到的TypeError: 'type' object is not iterable报错,大概率是添加到INSTALLED_APPS的内容不是字符串格式,而是误写为了类对象。
3. 生成并执行迁移
首次为根项目生成迁移需要指定项目名,执行以下命令:
python manage.py makemigrations 你的根项目名
生成迁移文件后执行迁移操作即可:
python manage.py migrate
4. 修正admin注册写法(可选,规避后续风险)
你当前的注册写法用逗号分隔属于隐式元组写法,建议调整为规范写法,避免意外报错:
from django.contrib import admin from .models import studentlogin, facultylogin admin.site.register(studentlogin) admin.site.register(facultylogin)
内容的提问来源于stack exchange,提问作者Dcoder
相关产品推荐
相关产品推荐

