Django 1.8,syncdb不工作,引发外键约束错误
自从我从1.7升级到Django 1.8以来,我遇到了这个外键约束错误Django 1.8,syncdb不工作,引发外键约束错误,django,syncdb,Django,Syncdb,自从我从1.7升级到Django 1.8以来,我遇到了这个外键约束错误 File "c:project\env\lib\site-packages\mysql_python-1.2.5-py2.7-win32.egg/MySQLdb\connections.py line 36, in defaulterrorhandler raise errorclass, errorvalue, Django.db.utils.IntergrityError: 'Cannot add foreing k
File "c:project\env\lib\site-packages\mysql_python-1.2.5-py2.7-win32.egg/MySQLdb\connections.py line 36, in defaulterrorhandler raise errorclass, errorvalue,
Django.db.utils.IntergrityError: 'Cannot add foreing key contraint
django 1.8(最新版本)有什么问题 试试这个
DATABASES = {
'default': {
...
'OPTIONS': {
"init_command": "SET foreign_key_checks = 0;",
},
'STORAGE_ENGINE': 'MyISAM / INNODB / ETC'
}
}
您是否为所有应用程序创建了迁移?否则,很可能会遇到这样的问题:数据库表的创建顺序错误,这将导致此错误 如果您有一个现有的Django 1.7项目,那么您需要创建初始迁移文件,然后模拟初始迁移,如下所述 使用创建迁移
$ python manage.py make migrations your_app_label
然后伪造申请表
$ python manage.py migrate --fake-initial your_app_label
这正是我想要的。工作起来很有魅力。哦,你不应该在Django 1.8中使用syncdb;它已被新的迁移代码取代。详情请阅读。