模型定义:
class Footprint(models.Model)
date = models.DateTimeField(auto_now = True)
class Stuff(Footprint):
name = models.CharField(max_length = 255)
some_other_field = models.CharField(max_length = 255)
在一个Stuff
对象中,我只想更新该name
字段,并保持所有其他字段不变,除了关联Footprint
对象中定义的字段。
Footprint
如果我不使用,对象中的字段会正确更新update_fields
:
s = Stuff.objects.get(pk = 1)
s.name = 'Alexander'
s.save()
s.date # is correctly set
但是,如果我指定要更新的字段,则关联Footprint
的甚至都不会保存。
s = Stuff.objects.get(pk = 1)
s.name = 'Tim'
s.save(update_fields = ['name'])
s.date # unfortunately, remains unchanged!!
我必须使用update_fields
以避免几个脚本之间的干扰。
同时,我想始终跟踪由“足迹”对象定义的上次修改(它包含上次修改日期以及其他几个字段;它们的更新由自定义触发save()
方法触发)。
有没有办法强制调用,Footprint.save()
即使update_fields
不包含来自的任何字段Footprint
?