抱歉我的英语不好,我的问题是:
我尝试用方法.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
对象是不同的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.