5-1添加用户报错

来源:5-1 django admin介绍

年光逝也被僵尸号占了

2017-06-20

生成超级用户后在后台跟着视频添加一个用户,然后报错,网上找到的解释是:“在某些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`))')


写回答

1回答

ChenTaicheng

2017-06-20

在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
3
ChenTaicheng
回复
年光逝也被僵尸号占了
一起学习,相互帮助
2017-06-21
共3条回复

Python3.6+django+xadmin,打造在线教育平台

【毕设】Python 2.7到3.6 完美适配,Django升级2.0

3677 学习 · 4038 问题

查看课程