背景:为 Django 应用程序运行 PostgreSQL 数据库(Django 1.1.1、Python2.4、psycopg2 和 Postgres 8.1)我已经多次从 SQL 转储中恢复了数据库。每次我这样做然后尝试添加一个新行,无论是外壳、管理员还是站点前端,我都会收到此错误:
IntegrityError: duplicate key violates unique constraint "app_model_pkey"
数据转储很好,正在重置序列。但是如果我再次尝试添加该行,它就成功了!因此,我可以尝试在每张桌子上插入一个新行,然后一切似乎都变得平淡无奇。
问题:鉴于(1)SQL 转储很好并且 Postgres 正确读取它(根据之前的问题),并且(2)Django 的 ORM 似乎没有系统地获取下一个值失败,在这个特定实例中发生了什么?