summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/core/serializers/python.py5
-rw-r--r--django/core/serializers/xml_serializer.py9
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):
"""