Django 加载回.json文件PostgreSQL时出现重复密钥问题

Django 加载回.json文件PostgreSQL时出现重复密钥问题,django,postgresql,loaddata,dumpdata,Django,Postgresql,Loaddata,Dumpdata,我有一个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 u

我有一个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文件,或者更好地转储除内容类型数据之外的所有内容?

我遇到了类似的错误:

django.db.utils.IntegrityError:安装夹具时出现问题 “/home/knysys/ogmius/ogmius/db.json”:无法加载 contenttypes.ContentType(pk=2):重复的键值违反唯一性 约束“django_内容_类型_应用_标签_型号_76bd3d3b_uniq”详细信息: 密钥(应用程序标签,型号)=(身份验证,用户)已存在

之后,我发现如果要从另一个数据库还原一个新数据库,则需要转储数据,如下所示:

./manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json
./manage.py loaddata db.json
然后按如下方式加载新数据库:

./manage.py dumpdata --exclude auth.permission --exclude contenttypes > db.json
./manage.py loaddata db.json

如果您只是排除ContentTypes,您可能会遇到另一个重复,另一个重复,另一个重复。它需要更广泛的方法改变,我认为postgres原生的
pg_restore
和django
loaddata
之间存在一些差异。本文清楚地解释了这些差异和可能的解决方案——但正如@Vao Tsun建议的那样,最好在您的数据中深入发现这些约束问题。