【发布时间】:2013-10-25 06:49:14
【问题描述】:
转储数据python manage.py dumpdata --format json --indent 4 --exclude auth.permission --exclude contenttypes > app/fixtures/app_test_data.json
运行 python manage.py 测试应用程序,我得到以下错误:
IntegrityError: Problem installing fixtures: The row in table 'django_admin_log' with primary key '517' has an invalid foreign key: django_admin_log.content_type_id contains a value '28' that does not have a corresponding value in django_content_type.id.
有什么想法吗?我在使用 dumpdata/Django 的测试运行器时遇到过很多类似的问题。
【问题讨论】:
-
在您进行数据转储时尝试 --natural 以便使用自然键而不是数据库 ID? docs.djangoproject.com/en/dev/ref/django-admin/…
-
这很可能是由于您的灯具被创建的顺序而发生的。 Django 试图在创建
content_type之前创建'django_admin_log',从而导致关系破裂。您可以尝试重新排序固定装置的创建方式以解决此问题。
标签: django django-models django-testing django-fixtures