11

转储数据python manage.py dumpdata --format json --indent 4 --exclude auth.permission --exclude contenttypes > app/fixtures/app_test_data.json

运行 python manage.py test app,我得到以下错误:

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 的测试运行器时,我遇到了很多类似的问题。

4

2 回答 2

2

如果:

  1. 您只是对在知道此问题之前从生成的 json 中恢复信息感兴趣
  2. 你不关心管理日志的数据
  3. 您(或其他人)使用以下命令生成了不包括 auth.permission 和 contenttypes 的 json:python manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json

您可以使用文本编辑器恢复捕获在 json 中的信息,打开文件并删除与 admin.logentry 模型关联的元素。

这对我有用!

于 2017-01-06T18:13:40.687 回答
0

如果您在示例中排除 contenttype 应用程序,您可能无法导出任何具有针对该应用程序的外键的应用程序。删除--exclude contenttypes可能使其工作。

于 2015-11-07T14:09:15.347 回答