Skip to content

Commit e29208a

Browse files
committed
Conversion of OrderedDict to Dict.
Addresses zapier#23 In the event that an OrderedDict value is found in the serialized instance then it is converted into a dictionary. This should be backward’s compatible with earlier versions of Django’s python serializer.
1 parent 4cc0a33 commit e29208a

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

rest_hooks/models.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from collections import OrderedDict
2+
13
import requests
24

35
from django.conf import settings
@@ -61,9 +63,17 @@ def serialize_hook(self, instance):
6163
serializer = get_module(settings.HOOK_SERIALIZER)
6264
return serializer(instance, hook=self)
6365
# if no user defined serializers, fallback to the django builtin!
66+
data = serializers.serialize('python', [instance])[0]
67+
for k, v in data.items():
68+
if isinstance(v, OrderedDict):
69+
data[k] = dict(v)
70+
71+
if isinstance(data, OrderedDict):
72+
data = dict(data)
73+
6474
return {
6575
'hook': self.dict(),
66-
'data': serializers.serialize('python', [instance])[0]
76+
'data': data,
6777
}
6878

6979
def deliver_hook(self, instance, payload_override=None):

0 commit comments

Comments
 (0)