为了节省移动数据的时间,我挑选了一些模型并将它们转储到文件中。然后我使用完全相同的模型将它们重新加载到另一个数据库中。保存工作正常,对象保留了它们的旧 ID,这正是我想要的。但是,在保存新对象时,我遇到了 nextval 错误。
我不太熟悉 postgres,我不确定如何解决这个问题,这样我就可以使用现有 ID 保留旧记录,同时能够继续添加新数据。
谢谢, 托马斯
最佳答案
实际上有一个 django 命令打印出序列重置 SQL 称为 sqlsequencereset .
$ python manage.py sqlsequencereset issues
BEGIN;
SELECT setval('"issues_project_id_seq"', coalesce(max("id"), 1), max("id") IS NOT null) FROM "issues_project";
COMMIT;
关于django - 从 pickle 数据加载会导致新保存的数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2822027/