diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/serializers/python.py | 5 | ||||
| -rw-r--r-- | django/core/serializers/xml_serializer.py | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index cedab06be9..c129c068df 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -49,8 +49,9 @@ class Serializer(base.Serializer): self._current[field.name] = smart_unicode(related, strings_only=True) def handle_m2m_field(self, obj, field): - self._current[field.name] = [smart_unicode(related._get_pk_val(), strings_only=True) - for related in getattr(obj, field.name).iterator()] + if field.creates_table: + self._current[field.name] = [smart_unicode(related._get_pk_val(), strings_only=True) + for related in getattr(obj, field.name).iterator()] def getvalue(self): return self.objects diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py index 667faf7c5e..04498db00c 100644 --- a/django/core/serializers/xml_serializer.py +++ b/django/core/serializers/xml_serializer.py @@ -100,10 +100,11 @@ class Serializer(base.Serializer): serialized as references to the object's PK (i.e. the related *data* is not dumped, just the relation). """ - self._start_relational_field(field) - for relobj in getattr(obj, field.name).iterator(): - self.xml.addQuickElement("object", attrs={"pk" : smart_unicode(relobj._get_pk_val())}) - self.xml.endElement("field") + if field.creates_table: + self._start_relational_field(field) + for relobj in getattr(obj, field.name).iterator(): + self.xml.addQuickElement("object", attrs={"pk" : smart_unicode(relobj._get_pk_val())}) + self.xml.endElement("field") def _start_relational_field(self, field): """ |
