当在【Django】管理网站中向数据库添加数据时出现IntegrityError错误时的处理方法

环境

    • Windows 10

 

    • Python 3.7.3

 

    • Django 2.2.2

 

    PostgreSQL 10.12

背景: 背景

我在一本Django的入门书上学习时,在管理网站创建数据到数据库的部分遇到了以下类似的错误。

在/admin/diary/diary/add/处发生完整性错误。
表”django_admin_log”中的外键”django_admin_log_user_id_c564eba6_fk_auth_user_id”违反约束条件。
详细信息:表”auth_user”中(user_id)=(3)的记录不存在。
请求方法:POST
请求URL:http://127.0.0.1:8000/admin/diary/diary/add/
Django版本:2.2.2
异常类型:IntegrityError
异常值:表”django_admin_log”中的外键”django_admin_log_user_id_c564eba6_fk_auth_user_id”违反约束条件。
详细信息:表”auth_user”中(user_id)=(3)的记录不存在。
异常位置:C:\Users\grin\Anaconda3\envs\django\lib\site-packages\django\db\backends\base\base.py的_commit函数,第240行
Python可执行文件:C:\Users\grin\Anaconda3\envs\django\python.exe
Python版本:3.7.3

似乎有Django_admin_log的完整性错误。

据说在django_admin_log表中,包含了与旧的auth_user表的外键关系。因此,需要删除这个外键关系并重新创建表格。

解决方法

面向对象+Python开发初级进阶者指南电子书已全新上线!只需点击一下链接即可免费下载,快来加入Python学习的大家庭吧!

参考资料/链接

    • https://www.shoeisha.co.jp/book/detail/9784798162508

 

    • https://stackoverflow.com/questions/19410712/integrityerror-at-admin-course-course-add-in-django

 

    • https://stackoverflow.com/questions/15124523/integrity-error-on-django-admin-log-after-updating-existing-site-to-new-django-1/27028187#27028187

 

    Python Django チュートリアル(1)
bannerAds