gpt4 book ai didi

python - 更新主键 Django MySQL

转载 作者:太空狗 更新时间:2023-10-29 22:13:07 25 4
gpt4 key购买 nike

我尝试使用 .save() 方法更新 Django 中的 PK,但是当我保存对象时,Django 复制了具有相同数据但不同 PK 的对象。例如:

from gestion_empleados.Models import Empleados
>>> e = Empleados.objects.get(pk="56789034U")
>>> e.pk
u'56789034U'
>>> e.pk = "11111111L"
>>> e.save()
>>> e.pk
'11111111L'
>>> e2 = Empleados.objects.get(pk="56789034U")
>>> e2
<Empleados: Juan 56789034U>
>>> e
<Empleados: Juan 11111111L>

不同PK的对象是一样的,我想在不复制对象的情况下更改PK。

有什么解决办法吗?谢谢!

最佳答案

我认为 Django 不允许您更改对象的主键。您可能必须删除原始对象。

e2.delete()

根据 Django 文档

The primary key field is read-only. If you change the value of the primary key on an existing object and then save it, a new object will be created alongside the old one.

Django Docs

关于python - 更新主键 Django MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29657312/

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