请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

5-1添加用户报错

生成超级用户后在后台跟着视频添加一个用户,然后报错,网上找到的解释是:“在某些django版本中,使用自定义User后,在创建用户的时候,数据库中的django_admin_log不能正确的写入,原因是,这个表中有一个外键约束,针对的是auth_user表,但所由于自定义了User,使用的是自定义用户,则外键约束失败,解决方法是,删除外键约束,然后重新添加一个针对自定义User表id的约束即可”但是不知道如何删除外键约束又添加自定义约束

错误代码如下:

IntegrityError at /admin/users/userprofile/add/

(1452, 'Cannot add or update a child row: a foreign key constraint fails (`mxonline`.`django_admin_log`, CONSTRAINT `django_admin_log_user_id_c564eba6_fk_auth_user_id` FOREIGN KEY (`user_id`) REFERENCES `auth_user` (`id`))')


正在回答 回答被采纳积分+3

1回答

ChenTaicheng 2017-06-20 23:42:54

在setting.py文件中编辑下DATABASES,

加上

       'OPTIONS': {
          "init_command": "SET foreign_key_checks=0;",
      }

这段代码试试看,这段代码的意思是忽略外键

DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'mxonline',
       'USER': 'root',
       'PASSWORD':'123456',
       'HOST':'127.0.0.1',
       'OPTIONS': {
          "init_command": "SET foreign_key_checks=0;",
      }
   }
}

3 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信