title: Django Signals: using update_field as condition
body: <p>Can someone help me understand the <code>update_field</code> argument for Django signals?</p>
  
  <p><a href="https://docs.djangoproject.com/en/1.8/ref/signals/#post-save" rel="noreferrer">According to the docs</a>:</p>
  
  <blockquote>
    <p><strong>update_fields:</strong> The set of fields to update explicitly specified in the
    save() method. None if this argument was not used in the save() call.</p>
  </blockquote>
  
  <p>I'm not clear on what this means. I was trying to use it to prevent a signal function from executing unless certain fields were updated:</p>
  
  <pre><code>@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*
  </code></pre>
  
  <p>However, it seems that it still executes during another signal process when an object is saved, even if an unspecified field is explicitly updated: </p>
  
  <pre><code>x = SalesRecord.objects.filter(paid_off=False, customer=instance.customer).first()
  x.paid_off = True
  x.save(update_fields=['paid_off'])
  </code></pre>
  
  <p>Am I going about this wrong?</p>