ID,link&类别
它的ID字段从1到1960开始
然后在下一个文件中,我从1961年开始向ID字段开始,但它显示以下错误:
line number: 1961 – duplicate key value violates unique constraint “article_article_pkey” DETAIL: Key (ID)=(1961) already exists.
即使我在Django管理员中看到我的文章模型,它也会显示从1960年开始的ID
这是我的models.py:
class Article(models.Model): ID = models.autoFIEld(primary_key=True) link = models.URLFIEld(max_length=255) category = models.CharFIEld(max_length=255,choices=CategorIEs)
这是admin.py
@admin.register(Article) class Articleadmin(importExportModeladmin): resource_class = vIEws.ArticleResource Readonly_fIElds = ('ID',)解决方法 我已经触发了问题:
实际上,问题是Postgresql主键顺序,它不与表行同步.
这就是为什么当我插入一个新行时,我得到一个重复的键错误,因为串行数据类型中隐含的序列返回一个已经存在的数字.
要解决这个问题,我们必须重置Postgresql的ID顺序,
这是一步一步的指南:
>登录数据库外壳并连接到您的数据库
>首先,检查表的ID列的最大值为SELECT MAX(ID)FROM your_table;
>然后,检查ID的下一个值是什么:SELECT nextval(‘your_table_ID_seq’);
>如果nextval是下一个Max值,那么它是正确的.例如MAX = 10& NEXTVAL = 11
>否则,将表的ID_seq重置为:
开始;
– 更新计数器时防止并发插入
LOCK table your_table IN EXCLUSIVE MODE;
– 更新序列
SELECT setval(‘your_table_ID_seq’,COALESCE((SELECT MAX(ID)1 FROM your_table),1),false);
承诺;
总结以上是内存溢出为你收集整理的python – Django Import-Export导入重复键值违反了错误全部内容,希望文章能够帮你解决python – Django Import-Export导入重复键值违反了错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)