我如何知道django模型实例是否被修改?

Iva*_*nov 5 django django-models

我有这样的代码:

# ...
obj = Model.objects.get(pk=2342)
if foo:
    obj.foo = 'bar'
if bar:
    obj.bar = 'baz'
obj.save()
Run Code Online (Sandbox Code Playgroud)

有没有一种很好的方法可以找出模型实例是否被修改以防止每次代码运行时保存它?

Chr*_*att 4

典型的模式是执行以下操作:

model = Model.objects.get(pk=2342)
dirty = False
if foo:
    model.foo = 'bar'
    dirty = True
if bar:
    model.bar = 'baz'
    dirty = True

if dirty:
    model.save()
Run Code Online (Sandbox Code Playgroud)