当我尝试添加内容或课程时出现此错误。它工作正常,现在我得到这个错误。我已经将它上传到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
答案 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