  It is for these reasons that Django provides *natural keys*. A natural
  key is a tuple of values that can be used to uniquely identify an
  object instance without using the primary key value.
  
  Consider the following two models::
  
      from django.db import models
  
 
</s> remove Deserialization of natural keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It is for these reasons that Django provides `natural keys`. A natural
 </s> add It is for these reasons that Django provides *natural keys*. A natural </s> remove Then, when you call ``serializers.serialize()``, you provide a
``use_natural_keys=True`` argument::
 </s> add         class Meta:
            unique_together = (('first_name', 'last_name'),)

That method should always return a natural key tuple -- in this
example, ``(first name, last name)``. Then, when you call
``serializers.serialize()``, you provide a ``use_natural_keys=True``
argument::
Deserialization of natural keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  It is for these reasons that Django provides *natural keys*. A natural
  key is a tuple of values that can be used to uniquely identify an
  object instance without using the primary key value.
  
Deserialization of natural keys
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Consider the following two models::
  
      from django.db import models
  
keep keep keep add keep keep keep keep
 Fixed #13418 -- Added notes on uniqueness requirements for natural keys. Thanks to hunajakippo for the suggestion, and Ramiro Morales for the draft text.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13146 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
docs/topics/serialization.txt