title: Django deserialize - I've specified a natural key manager but it wont' deserialize
body: <p>First off, this is the page I used as a guide to put this together: <a href="https://docs.djangoproject.com/en/dev/topics/serialization/" rel="nofollow">https://docs.djangoproject.com/en/dev/topics/serialization/</a></p>
  
  <p>Here is my model definition:</p>
  
  <pre><code>class LocationManager(models.Manager):
      def get_by_natural_key(self, zip_code):
          return self.get(zip_code=zip_code)
  
  class Location(models.Model):
      city = models.CharField('City', blank=True, null=True, max_length=50)
      state = models.CharField('State', blank=True, null=True, max_length=2, choices=STATE_CHOICES)
      zip_code = models.CharField('Zip Code', blank=False, null=False, max_length=9, unique=True)
      date_added = models.DateField('Date Added')
  
      objects = LocationManager()
  
      def natural_key(self):
          return self.zip_code
  </code></pre>
  
  <p>Here's a serialized item I'm trying to deserialize:</p>
  
  <pre><code>    {
          "pk": 10259, 
          "model": "news.news", 
          "fields": {
              "content": "some content", 
              "created_on": "2012-07-24T16:10:44.570", 
              "location": "99801", 
              "title": "Some title"
          }
      }
  </code></pre>
  
  <p>The code I'm trying to deserialize the json with:</p>
  
  <pre><code>    for news_obj in serializers.deserialize('json', news_json):
          news_obj.save()
  </code></pre>
  
  <p>The error I get is:</p>
  
  <pre><code>IntegrityError: insert or update on table "news" violates foreign key constraint "news_location_id_fkey"
  DETAIL:  Key (location_id)=(99801) is not present in table "location".
  </code></pre>
  
  <p>So it seems it is trying to resolve the zip_code as the natural key rather than trying to check if the item exists in the database using the natural key I defined.  What am I doing wrong?</p>