MCPcopy
hub / github.com/django/django / handle_m2m

Method handle_m2m

django/core/serializers/xml_serializer.py:149–162  ·  view source on GitHub ↗
(value)

Source from the content-addressed store, hash-verified

147 ):
148 # If the objects in the m2m have a natural key, use it
149 def handle_m2m(value):
150 if natural := self._resolve_natural_key(value):
151 # Iterable natural keys are rolled out as subelements
152 self.xml.startElement("object", {})
153 for key_value in natural:
154 self.xml.startElement("natural", {})
155 if key_value is None:
156 self.xml.addQuickElement("None")
157 else:
158 self.xml.characters(str(key_value))
159 self.xml.endElement("natural")
160 self.xml.endElement("object")
161 else:
162 self.xml.addQuickElement("object", attrs={"pk": str(value.pk)})
163
164 def queryset_iterator(obj, field):
165 attr = getattr(obj, field.name)

Callers

nothing calls this directly

Calls 5

_resolve_natural_keyMethod · 0.95
indentMethod · 0.95
startElementMethod · 0.80
addQuickElementMethod · 0.80
charactersMethod · 0.80

Tested by

no test coverage detected