夹层/Django 1.10迁移:数据库表与迁移关系不大
我使用的是夹层(Django 1.10),所以我看不到“夹层/Django 1.10迁移:数据库表与迁移关系不大,django,migration,models,mezzanine,makemigrations,Django,Migration,Models,Mezzanine,Makemigrations,我使用的是夹层(Django 1.10),所以我看不到“db.sqlite3” 我搜索了与我类似的问题,提供的大多数解决方案都无效 我创建了一个新模型,后来决定添加一个新字段。我做了“python manage.py makemigrations”,当我查看我的migrations文件夹时,它就在那里;新字段存在。现在,当我运行应用程序并查看admin时,它给了我一个错误,上面写着“不存在这样的列”。因此,我认为,我的数据库与我进行的迁移不同步 这就是我所做的: 1.删除了迁移文件夹中的所有内容
db.sqlite3
”
我搜索了与我类似的问题,提供的大多数解决方案都无效
我创建了一个新模型,后来决定添加一个新字段。我做了“python manage.py makemigrations”,当我查看我的migrations文件夹时,它就在那里;新字段存在。现在,当我运行应用程序并查看admin时,它给了我一个错误,上面写着“不存在这样的列”。因此,我认为,我的数据库与我进行的迁移不同步
这就是我所做的:
1.删除了迁移文件夹中的所有内容,并重新创建了“init.py”
1.1运行“python manage.py makemigrations
”
1.2运行“python manage.py migrate
”
1.3运行“python manage.py runserver
”
实际上,我可以将我的模型重命名为具有相同字段的不同名称,但是,有时Django会给出错误,例如“不存在这样的表”。这样做也会非常乏味,因为如果我重命名模型,我必须在导入模型的每个文件(例如admin.py、forms.py、views.py等)中重命名它
我听说过South,但它不适用于Django 1.10
请帮忙。谢谢大家! 我刚刚解决了这个问题。因为我使用的是夹层,所以数据库的名称不一样。查找文件
dev.db
,该文件将位于manage.py
的同一文件夹中。然后,删除它。然后,再次运行python manage.py makemigrations
和python manage.py migrate
。那么(我希望)它会起作用