title: How to check for a specific field change in a model?
body: <p>I have my <code>models.py</code> :</p>
  
  <pre><code>class Hotel(models.Model):
      name = models.CharField(max_length=20)
      currency = models.ForeignKey(Currency)
  
  
  class Currency(models.Mode):
      code = models.CharField(max_length=3)
      name = models.CharField(max_length=10)
  </code></pre>
  
  <p>Whenever the <code>currency</code> field in hotel is changing I need to be able to do something. So I have a function like :</p>
  
  <pre><code>@receiver(pre_save,sender=Hotel)
  def update_something(sender,**kwargs)
      obj = kwargs['instance']
      old_object = Hotel.objects.get(pk=obj.pk)
      '''
       Now I can do anything here comparing the oldo  object with the instance
      '''
  </code></pre>
  
  <p>The thing is I don't want to make a query for this, since then the purpose of signals becomes stupid and I become a fool.</p>
  
  <p>So I should be able to do something like :      </p>
  
  <pre><code>updated = kwargs['update_fields']
  new_currency = updated['currency']
  </code></pre>
  
  <p>Is their a way I can find out that change for <em>ONLY</em> one particular field say <code>currency</code> ,instead of doing a query like this. I want to get the changes related to the <code>currency</code> foreign key and update things before I save.</p>
  
  <p>Sorry for my bad English and not being able to use too technical terms.</p>
  
  <p>Thanks :)</p>