Skip to content

Commit 7142667

Browse files
timgrahamjacobtylerwalls
authored andcommitted
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 24b82cd (refs #30159).
1 parent 1b0d46f commit 7142667

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

django/core/serializers/pyyaml.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,6 @@ def represent_ordered_dict(self, data):
3434
DjangoSafeDumper.add_representer(
3535
collections.OrderedDict, DjangoSafeDumper.represent_ordered_dict
3636
)
37-
# Workaround to represent dictionaries in insertion order.
38-
# See https://github.com/yaml/pyyaml/pull/143.
39-
DjangoSafeDumper.add_representer(dict, DjangoSafeDumper.represent_ordered_dict)
4037

4138

4239
class Serializer(PythonSerializer):
@@ -59,7 +56,13 @@ def _value_from_field(self, obj, field):
5956

6057
def end_serialization(self):
6158
self.options.setdefault("allow_unicode", True)
62-
yaml.dump(self.objects, self.stream, Dumper=DjangoSafeDumper, **self.options)
59+
yaml.dump(
60+
self.objects,
61+
self.stream,
62+
Dumper=DjangoSafeDumper,
63+
sort_keys=False,
64+
**self.options,
65+
)
6366

6467
def getvalue(self):
6568
# Grandparent super

0 commit comments

Comments
 (0)