diff options
| author | Tim Graham <timograham@gmail.com> | 2026-04-04 15:52:18 -0400 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2026-04-19 00:30:37 +0300 |
| commit | 7142667340f78403cbbcaa8f33703c494282b7b7 (patch) | |
| tree | addb515d801c91d97aaaa12b54d591cbe0daf8b5 | |
| parent | 1b0d46f715849de53563aaf6912b4ded7d61641d (diff) | |
Replaced yaml serializer workaround to preserve dict order with PyYAML's sort_keys=False.
The sort_keys parameter was added in PyYAML 5.1 (released March 2019).
The workaround was added in 24b82cd201e21060fbc02117dc16d1702877a1f3
(refs #30159).
| -rw-r--r-- | django/core/serializers/pyyaml.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/django/core/serializers/pyyaml.py b/django/core/serializers/pyyaml.py index fdc245756f..935d3cec49 100644 --- a/django/core/serializers/pyyaml.py +++ b/django/core/serializers/pyyaml.py @@ -34,9 +34,6 @@ DjangoSafeDumper.add_representer(decimal.Decimal, DjangoSafeDumper.represent_dec DjangoSafeDumper.add_representer( collections.OrderedDict, DjangoSafeDumper.represent_ordered_dict ) -# Workaround to represent dictionaries in insertion order. -# See https://github.com/yaml/pyyaml/pull/143. -DjangoSafeDumper.add_representer(dict, DjangoSafeDumper.represent_ordered_dict) class Serializer(PythonSerializer): @@ -59,7 +56,13 @@ class Serializer(PythonSerializer): def end_serialization(self): self.options.setdefault("allow_unicode", True) - yaml.dump(self.objects, self.stream, Dumper=DjangoSafeDumper, **self.options) + yaml.dump( + self.objects, + self.stream, + Dumper=DjangoSafeDumper, + sort_keys=False, + **self.options, + ) def getvalue(self): # Grandparent super |
