这是我目前的状态:
mainapp
[X] 0001_initial
[X] 0002_authorprofile_uuid
[X] 0003_auto_20151107_1243
[X] 0004_article_approved
[X] 0005_auto_20151129_0950
[X] 0006_article_category
[X] 0007_auto_20160501_1601
我想回到0005.但是,当我运行/manage.py migrate mainapp 0005_auto_20151129_0950
时,我收到错误ValueError: The database backend does not accept 0 as a value for AutoField.
这是我在models.py中修复的一个错误,所以我想回到0005并重新开始,然后重新进行迁移。
class Article(models.Model):
category = models.ForeignKey(Category, default = 1) #trying to add this and set default value. It was first set to 0 but changed it to 1 after it failed
答案 0 :(得分:0)
我的建议是打开你的sql控制台并转储django_migrations
表。
DELETE FROM django_migrations WHERE app='mainapp'
然后确保已将迁移/文件夹中的所有文件都检入版本控制并删除它们!然后做
./manage.py makemigrations mainapp
./manage.py migrate mainapp --fake
如果--fake不起作用,那么是绝望的时间和--fake-initial
,但是当你将应用程序部署到其他地方时,你很可能会再次经历这个过程: (