我的应用程序中有一堆模型,我正在听post_save
的更改。另外,我在所有这些字段上都有一个updated_at
字段,它是一个时间戳,将在每次保存操作时更新。
假设模型Question
与模型Answer
有一两个关系,则会发生以下情况:
如果我添加一个Answer
,那么两个模型将触发post_save
(因为Question
上的时间戳更新)。在我的用例中,我需要知道天气Question
本身被修改(除了updated_at
)或者如果post_save
只是因为添加了Answer
而被触发。
有没有一个干净的方法来实现这一目标?
实际上我认为你可以使用update_fields参数来检查修改后的问题字段
@receiver(post_save, sender=Question)
def tri_qu(sender, update_fields, created, instance, **kwargs):
if not created and update_fields and update_fields == ['updated_at']:
# ... post_save where triggered, because of answer was added