diff options
Diffstat (limited to 'django/core/serializers/xml_serializer.py')
-rw-r--r-- | django/core/serializers/xml_serializer.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py index 1f62c8e971..07de9428e7 100644 --- a/django/core/serializers/xml_serializer.py +++ b/django/core/serializers/xml_serializer.py @@ -132,7 +132,11 @@ class Serializer(base.Serializer): self.xml.addQuickElement("object", attrs={ 'pk': str(value.pk) }) - for relobj in getattr(obj, field.name).iterator(): + m2m_iter = getattr(obj, '_prefetched_objects_cache', {}).get( + field.name, + getattr(obj, field.name).iterator(), + ) + for relobj in m2m_iter: handle_m2m(relobj) self.xml.endElement("field") |