Python Django信号:使用update_字段作为条件

Python Django信号:使用update_字段作为条件,python,django,django-models,django-signals,Python,Django,Django Models,Django Signals,有人能帮我理解Django信号的update\u字段参数吗 : 更新\u字段:在 save()方法。如果save()调用中未使用此参数,则无 我不清楚这是什么意思。我试图使用它来阻止信号函数执行,除非某些字段被更新: @receiver(post_save, sender=SalesRecord) def spawn_SaleSource_record(sender, update_fields, created, instance, **kwargs): if created or u

有人能帮我理解Django信号的
update\u字段
参数吗

:

更新\u字段:在 save()方法。如果save()调用中未使用此参数,则无

我不清楚这是什么意思。我试图使用它来阻止信号函数执行,除非某些字段被更新:

@receiver(post_save, sender=SalesRecord)
def spawn_SaleSource_record(sender, update_fields, created, instance, **kwargs):
    if created or update_fields is 'sale_item' or 'sales_qty':
        *do function*
但是,在保存对象时,即使未指定的字段被显式更新,它似乎仍在另一个信号处理期间执行:

x = SalesRecord.objects.filter(paid_off=False, customer=instance.customer).first()
x.paid_off = True
x.save(update_fields=['paid_off'])

我是不是搞错了?

您的条件与您想要的不符,因为“销售数量”总是正确的

您希望您的状况是:

if created or 'sale_item' in update_fields or 'sales_qty' in update_fields:

“update_fields”是用于修改字段或自定义字段的django语法?@thatzprem根据文档,它是用于更新字段的django语法()。