【发布时间】:2018-03-07 02:41:21
【问题描述】:
我有一个 PostgreSQL 数据库,我在其中执行了 python manage.py dumpdata 以将数据备份到 json 文件中。我创建了一个新的 PostgreSQL 数据库,执行了迁移,一切都像发条一样工作。当我尝试使用 python manage.py loaddata backup.json 加载 backup.json 文件时,给了我这个错误。
Could not load contenttypes.ContentType(pk=15): duplicate key value violates unique constraint "django_content_type_app_label_76bd3d3b_uniq"
DETAIL: Key (app_label, model)=(navigation, navigation) already exists.
我检查了 phpPgAdmin,新闻有一行。有没有办法在不包括内容类型的情况下加载备份 json 文件,或者更好地转储除内容类型数据之外的所有内容?
【问题讨论】:
-
如果您只是排除 ContentTypes - 您可能会遇到另一个重复项和另一个重复项。我认为它需要更广泛的方法改变
-
postgres 原生
pg_restore和 djangoloaddata之间存在一些差异。本文清楚地解释了这些差异和可能的解决方案 - deephacks.com/articles/entry/… 但正如 @Vao Tsun 建议的那样,最好将这些约束问题深入到您的数据中。
标签: django postgresql loaddata dumpdata