Django模型中save方法为何对未变更字段也执行了更新操作?

2026-05-26 22:470阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计903个文字,预计阅读时间需要4分钟。

Django模型中save方法为何对未变更字段也执行了更新操作?

我这就简化一下这段代码,不超过100个字:

pythonobj=Obj.objects.get(id=1)print(obj.name)

我就废话不多说了,直接上代码吧!

obj = Obj.objects.get(id=1) print obj.name #此时name的值假定为'abc' def handler(oid): obj = Obj.objects.get(id=oid) obj.name = '123' obj.save() handler(obj.id) obj.age = 10 obj.save() print obj.name

最终的name结果依然为'abc'。save()保存时,虽然没有更改其它字段,但依然会将内存中的值,再次存入数据库,子函数和其它进程更改的值会被覆盖。

阅读全文

本文共计903个文字,预计阅读时间需要4分钟。

Django模型中save方法为何对未变更字段也执行了更新操作?

我这就简化一下这段代码,不超过100个字:

pythonobj=Obj.objects.get(id=1)print(obj.name)

我就废话不多说了,直接上代码吧!

obj = Obj.objects.get(id=1) print obj.name #此时name的值假定为'abc' def handler(oid): obj = Obj.objects.get(id=oid) obj.name = '123' obj.save() handler(obj.id) obj.age = 10 obj.save() print obj.name

最终的name结果依然为'abc'。save()保存时,虽然没有更改其它字段,但依然会将内存中的值,再次存入数据库,子函数和其它进程更改的值会被覆盖。

阅读全文