使用 Django 管理面板时 PostgreSQL 数据库中的主键错误

Primary Key Error In PostgreSQL Database when using Django Admin Panel

提问人:Shubh 提问时间:11/18/2023 更新时间:11/18/2023 访问量:21

问:

我正在开发一个网站。为了测试路由和功能,我在表中添加了一些数据,我直接从 csv 文件将该数据上传到数据库。 此时有 4 个条目进入表。 我去了 django 管理面板,它正确地显示了所有数据。 然后,我向数据库添加了另一列(外键)。之后,我尝试通过 django 管理面板输入新数据。 尝试 4 次后(显示主键已经存在),它开始接受该条目。 这是我在 python 和 PostgreSQL 条件下第二次发生这种情况。第一次是使用 SQLAlchemy 的 Flask。当时我错误地删除了数据,我也通过其他途径插入了数据。

这是怎么回事?我不知道,请帮忙,告诉我我能做些什么来避免这种情况。因为我可以处理 4 或 5 个条目,但是当我必须继续尝试 100 次时会发生什么。

我不知道问题是什么,也不知道为什么它在重试表中的行数后开始工作。请帮忙。

django postgresql django模型

评论

0赞 Belayer 11/18/2023
欢迎来到 SO 社区。社区将帮助您解决您的问题,但对您有一定的期望。请花几分钟时间参加导览并查看如何提问。然后更新您的问题,包括示例数据、表定义(ddl 脚本)、该数据的预期结果以及您尝试过的内容,所有这些都以文本形式提供 - 没有图像;此外,添加小提琴也非常有用。您在表格中添加了 4 行,然后在插入另一行时遇到问题。请发布这些行、确切的插入和完整的结果错误。
1赞 Adrian Klaver 11/18/2023
很明显,您在重试时输入了重复的数据,这触发了主键错误。答案是不要那样做。要么 DELETE/TRUNCATE 表以重新开始,要么只对表中的新数据执行 INSERT 操作,然后对现有数据上的非 PK 字段执行 UPDATE 操作。

答: 暂无答案