加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

python – 更新主键Django MySQL

发布时间:2021-03-06 16:49:28 所属栏目:MySql教程 来源:网络整理
导读:抱歉我的英语不好,我的问题是: 我尝试用方法.save()更新Django中的PK但是当我保存对象时,Django使用相同的数据复制对象但是不同的PK,例如: from gestion_empleados.Models import Empleados e = Empleados.objects.get(pk="56789034U") e.pku'56789034U' e

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

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

from gestion_empleados.Models import Empleados
>>> e = Empleados.objects.get(pk="56789034U")
>>> e.pk
u'56789034U'
>>> e.pk = "22222111L"
>>> e.save()
>>> e.pk
'22222111L'
>>> 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

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读