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