DRF API response.data
respone.data = {'created': 1, 'status': 1}
和其他数据来自序列化程序。
MySerializer(user_obj, context={'request': self.request}).data
{'created': 1, 'status': 1}
self.assertEqual(d1,d2) gives difference. Apparently there is no difference but somehow both are not matching.
转储并再次加载匹配。
self.assertEqual(json.loads(json.dumps(d1)), json.loads(json.dumps(d2)))
排序也匹配。
self.assertEqual(sorted(response.data), sorted(data_))
答案 0 :(得分:0)
DRF的Serializer .data
方法返回一个OrderedDict,它是dict的子类:
return OrderedDict([
(field_name, field.get_value(self.initial_data))
for field_name, field in self.fields.items()
if (field.get_value(self.initial_data) is not empty) and
not field.read_only
])
但是你创建了一个与OrderedDict不同的字典。