在/ admin / course / course / add / in django中的IntegrityError

时间:2013-10-16 18:12:36

标签: django django-models django-admin django-views django-urls

当我尝试添加内容或课程时出现此错误。它工作正常,现在我得到这个错误。我已经将它上传到heroku并且它工作正常,只是在本地开发中它不会添加任何东西。有人可以解释什么是错的。请说明我应该添加哪些附加信息?

IntegrityError at /admin/course/course/add/

insert or update on table "django_admin_log" violates foreign key constraint "django_admin_log_user_id_fkey"
DETAIL:  Key (user_id)=(2) is not present in table "auth_user".

Request Method:     POST
Request URL:    http://127.0.0.1:8888/admin/course/course/add/
Django Version:     1.5.1
Exception Type:     IntegrityError
Exception Value:    

insert or update on table "django_admin_log" violates foreign key constraint "django_admin_log_user_id_fkey"
DETAIL:  Key (user_id)=(2) is not present in table "auth_user".

Exception Location:     /home/vagrant/sai/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py in _commit, line 240
Python Executable:  /home/vagrant/sai/bin/python
Python Version:     2.7.3

2 个答案:

答案 0 :(得分:4)

这是因为您在执行第一个syncdb之后更改了AUTH_USER_MODEL

删除表“django_admin_log”。

然后运行python manage.py syncdb

现在使用对AUTH_USER_MODEL的正确引用重新创建“django_admin_log”。

答案 1 :(得分:0)

我刚刚发布了一个回复here作为迁移,我觉得这是一个更好的选择:

Integrity error on django_admin_log after updating existing site to new Django 1.5 user model