diff -r 6641e941ef1e -r ff1a9aa48cfd app/django/core/serializers/xml_serializer.py --- a/app/django/core/serializers/xml_serializer.py Tue Oct 14 12:36:55 2008 +0000 +++ b/app/django/core/serializers/xml_serializer.py Tue Oct 14 16:00:59 2008 +0000 @@ -100,10 +100,11 @@ 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): """