首页 MySql python – 更新主键Django MySQL

python – 更新主键Django MySQL

抱歉我的英语不好,我的问题是:我尝试用方法.save()更新Django中的PK但是当我保存对象时,Django使用相同的数据复制对象但是不同的PK,例如:from gestion_empleados.Models import Empleados e = Empleados.objects.get(pk=56789034U)

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

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

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mysql/20210220/17457.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

【免责声明】本站内容转载自互联网,其发布内容言论不代表本站观点,如果其链接、内容的侵犯您的权益,烦请提交相关链接至邮箱xwei067@foxmail.com我们将及时予以处理。

Copygight © 2016-2023 https://www.0532zz.com All Rights Reserved.青岛站长网

站长:xwei067#foxmail.com(请把#换成@)