python – 更新主键Django MySQL

前端之家收集整理的这篇文章主要介绍了python – 更新主键Django MySQL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

抱歉我的英语不好,我的问题是:

我尝试用方法.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.

Django Docs

猜你在找的MySQL相关文章