今天在做mxonline项目时,注册了用户表进admin后,想在后台添加一个用户试试,结果出现了错误,经过一番搜索发现以下两个解决方法,不过我只用了一种

报错信息:

IntegrityError: (1452, u'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:在settings.py文件中,数据库的配置参数中设置关闭外键检查

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

方法2:将userprofile表中的数据复制 到auth_user表中,即可生成新用户。

 

参考链接:

https://www.imooc.com/wenda/detail/382273

https://www.cnblogs.com/shijieli/p/10529419.html