我想将一个集合表示为dict(即javascript方面的JSON),而不是REST API中的列表(即JS方面的JSON数组)。
例如,我想替换它:
/api/father/:
{
"name": "John Smith",
"children": [
{
"name": "James Smith",
"age": 12
},
{
"name": "Jane Smith",
"age" : 9
},
]
}
用这个:
/api/father/:
{
"name": "John Smith",
"children": {
"James Smith": {
"age": 12
},
"Jane Smith": {
"age": 9
}
},
}
在Django REST Framework中有合理的方法吗?
答案 0 :(得分:0)
如果你能避免,我不确定我会改变它。此数据样本:
"children": [
{
"name": "James Smith",
"age": 12
},
{
"name": "Jane Smith",
"age" : 9
},
]
是本机JSON对象(集合)。
但是,一种方法可能是添加序列化器方法字段并重组数据:
class MySerializer(serializers.ModelSerializer):
....
children = serializers.SerializerMethodField()
def get_children(self, obj):
# restructure your data
return ...