gpt4 book ai didi

Python/Django key 已经存在。 Postgres

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:46 25 4
gpt4 key购买 nike

我有一个用 django 构建的项目,它使用 postgres 数据库。该数据库由 CSV 文件填充。所以当我想插入一个新对象时,我得到了错误“重复键”,因为 id = 1 的对象已经存在。

代码:

user = User(name= "Foo")
user.save()

表 users 在 id 上具有 PK。

Indexes:
"users_pkey" PRIMARY KEY, btree (id)

如果我在 psql 中获取表的详细信息,我会得到:

Column| Type    |  Modifiers                          
------+-------- +--------------------------------------
id | integer | not null default nextval('users_id_seq'::regclass)

此外,如果我在创建变量 user 之后并在保存它之前执行 user.dict,我会得到 'id': None/p>

如何使用未使用的 ID 保存用户?

最佳答案

您很可能从 CSV 中插入您的用户,明确设置 id 值,发生这种情况时,postgres 序列不会更新,因此当您尝试添加新用户时,序列会生成一个已使用的值

检查此其他问题以供引用postgres autoincrement not updated on explicit id inserts

解决方案就是该问题的答案,手动更新序列

关于Python/Django key 已经存在。 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com