Kaydet (Commit) 5697f879 authored tarafından Jacob Kaplan-Moss's avatar Jacob Kaplan-Moss

Fixed #8701, a couple of bad links in the docs.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@8941 bcc190cf-cafb-0310-a4f2-bffc1f526a37
üst d302be42
......@@ -57,25 +57,26 @@ be serialized.
Inherited Models
~~~~~~~~~~~~~~~~
If you have a model that is defined using an `abstract base class`_, you don't
have to do anything special to serialize that model. Just call the serializer
on the object (or objects) that you want to serialize, and the output will be
a complete representation of the serialized object.
If you have a model that is defined using an :ref:`abstract base class
<abstract-base-classes>`, you don't have to do anything special to serialize
that model. Just call the serializer on the object (or objects) that you want to
serialize, and the output will be a complete representation of the serialized
object.
However, if you have a model that uses `multi-table inheritance`_, you also
need to serialize all of the base classes for the model. This is because only
the fields that are locally defined on the model will be serialized. For
example, consider the following models::
However, if you have a model that uses :ref:`multi-table inheritance
<multi-table-inheritance>`, you also need to serialize all of the base classes
for the model. This is because only the fields that are locally defined on the
model will be serialized. For example, consider the following models::
class Place(models.Model):
name = models.CharField(max_length=50)
class Place(models.Model):
name = models.CharField(max_length=50)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
If you only serialize the Restaurant model::
data = serializers.serialize('xml', Restaurant.objects.all())
data = serializers.serialize('xml', Restaurant.objects.all())
the fields on the serialized output will only contain the `serves_hot_dogs`
attribute. The `name` attribute of the base class will be ignored.
......@@ -83,11 +84,8 @@ attribute. The `name` attribute of the base class will be ignored.
In order to fully serialize your Restaurant instances, you will need to
serialize the Place models as well::
all_objects = list(Restaurant.objects.all()) + list(Place.objects.all())
data = serializers.serialize('xml', all_objects)
.. _abstract base class: http://www.djangoproject.com/documentation/model-api/#abstract-base-classes
.. _multi-table inheritance: http://www.djangoproject.com/documentation/model-api/#multi-table-inheritance
all_objects = list(Restaurant.objects.all()) + list(Place.objects.all())
data = serializers.serialize('xml', all_objects)
Deserializing data
------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment