Django 1.8,syncdb不工作,抛出外键约束错误

时间:2015-04-07 03:15:53

标签: 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 key contraint

django 1.8(最新版本)有什么问题?

2 个答案:

答案 0 :(得分:3)

试试这个

DATABASES = {
'default': {
    ...         
    'OPTIONS': {
         "init_command": "SET foreign_key_checks = 0;",
    },
    'STORAGE_ENGINE': 'MyISAM / INNODB / ETC'
 }
}

答案 1 :(得分:0)

您是否为所有应用创建了迁移?如果没有,您可能会遇到以错误的顺序创建数据库表的问题,这将给您带来此错误。

如果您有一个现有的Django 1.7项目,那么您需要创建初始迁移文件,然后伪造初始迁移,如此处所述

https://docs.djangoproject.com/en/1.8/topics/migrations/#adding-migrations-to-apps

使用

创建迁移
docker-machine

然后伪造应用程序

$ python manage.py make migrations your_app_label