From 86ac8c132799d6adb0a89f19972c9fae096f7772 Mon Sep 17 00:00:00 2001
From: Simon Meers <simon@simonmeers.com>
Date: Sun, 10 Jul 2011 21:52:03 +0000
Subject: [PATCH] Fixed #16000 -- reference natural keys in contenttypes
 documentation. Thanks jsdalton.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16536 bcc190cf-cafb-0310-a4f2-bffc1f526a37
---
 docs/ref/contrib/contenttypes.txt | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/docs/ref/contrib/contenttypes.txt b/docs/ref/contrib/contenttypes.txt
index cafbaf4a62..e97116736d 100644
--- a/docs/ref/contrib/contenttypes.txt
+++ b/docs/ref/contrib/contenttypes.txt
@@ -192,6 +192,15 @@ The ``ContentTypeManager``
         :class:`~django.contrib.contenttypes.models.ContentType` instance
         representing that model.
 
+    .. method:: get_by_natural_key(app_label, model)
+
+        Returns the :class:`~django.contrib.contenttypes.models.ContentType`
+        instance uniquely identified by the given application label and model
+        name. The primary purpose of this method is to allow
+        :class:`~django.contrib.contenttypes.models.ContentType` objects to be
+        referenced via a :ref:`natural key<topics-serialization-natural-keys>`
+        during deserialization.
+
 The :meth:`~ContentTypeManager.get_for_model()` method is especially
 useful when you know you need to work with a
 :class:`ContentType <django.contrib.contenttypes.models.ContentType>` but don't
@@ -285,6 +294,15 @@ model:
    should evaluate the models you expect to be pointing to and determine
    which solution will be most effective for your use case.
 
+.. admonition:: Serializing references to ``ContentType`` objects
+
+   If you're serializing data (for example, when generating
+   :class:`~django.test.TestCase.fixtures`) from a model that implements
+   generic relations, you should probably be using a natural key to uniquely
+   identify related :class:`~django.contrib.contenttypes.models.ContentType`
+   objects. See :ref:`natural keys<topics-serialization-natural-keys>` and
+   :djadminopt:`dumpdata --natural <--natural>` for more information.
+
 This will enable an API similar to the one used for a normal
 :class:`~django.db.models.ForeignKey`;
 each ``TaggedItem`` will have a ``content_object`` field that returns the