我在django博客项目上运行manage.py migration并获取此信息:
(joelgoldstick.com) jcg@jcg-hp:~/code/p3/joelgoldstick.com/blog$ python manage.py migrate
.
.
.
django.db.utils.OperationalError: table "django_content_type" already exists
During handling of the above exception, another exception occurred:
.
.
.
raise IntegrityError(
django.db.utils.IntegrityError: The row in table 'blog_app_entry_categories' with primary key '8' has an invalid foreign key: blog_app_entry_categories.category_id contains a value '3' that does not have a corresponding value in blog_category.id.
但是表blog_app_category中包含ID为3的行
以下是表格:
sqlite> select id from blog_app_entry;
id
2
3
4
5
6
7
8
9
11
12
14
15
16
sqlite> select * from blog_app_category;
id|title|slug|description
1|Programming for fun|programming-fun|just a sample category.
2|Django|django|Anything related to django
3|python|python|general python
4|tools|tools|various tools
5|Patty|patty|This is patty's stuff
6|Misc|misc|Things that don't fit in other categories
7|Vim|vim|About the Vim Editor
8|random|random|random category for testing
9|Deployment|deployment|deployment articles
10|git|git|git tips
sqlite> select * from blog_app_entry_categories;
id|entry_id|category_id
8|4|3
22|3|2
23|3|3
25|6|2
26|6|4
30|11|2
31|11|3
33|7|4
35|8|2
36|8|4
38|9|1
39|9|3
41|14|2
42|15|2
45|5|4
47|2|2
48|12|6
49|16|6
答案 0 :(得分:1)
在没有模型示例的情况下,尚不清楚该错误消息中到底发生了什么,但是“ blog_app_entry_categories.category_id”似乎与“ blog_category.id”不同,仅仅是因为存在id = 3的行不能帮助我理解问题。如果可以看到您的模型,可能会更清楚。
否则,根据您已经创建的条目数,您总是可以删除数据库和迁移文件,然后重新启动,这在过去弄乱了模型并且无法迁移时对我有用! (请勿删除迁移文件夹中的__ init __.py文件)。