我的信号中有一个方法可以捕获post_save信号,并检查传入的实例中是否有某个脏字段。
我想知道我的实现是否会出错,因为dirty_fields比较内存和数据库以查找那些字段,并且我正在post_save中进行操作,应该在save方法的末尾触发,对吗?
基本上是:
@receiver(post_save, sender=MyModel)
def process_post_save(sender, instance, created, **kwargs):
reason_to_process = [
'sample1',
'sample2',
'sample3',
'expired'
]
for x in instance.get_dirty_fields(check_relationship=True):
if x in reason_to_process:
blah