http://www.django-rest-framework.org/api-guide/relations/#nested-relationships
从文档中不清楚是否可以使用相同的嵌套关系原则来呈现平坦的JSON。
例如:
"nest": {
"b": {
"c": {
"d": {
"e": {
"E": "echo"
},
"D": "delta"
},
"C": "charlie"
},
"B": "beta"
},
"A": "alpha"
}
"flat": {
"A": "alpha",
"B": "beta",
"C": "charlie",
"D": "delta",
"E": "echo"
}
如何实现flat
JSON?
答案 0 :(得分:0)
让我们假设你的代码看起来像
mymodel_queryset = MyModel.objects.all()
所以你可以做的是编写自己的自定义序列化程序,如下所示:
def my_custom_serializer(queryset):
res = []
for q in queryset:
ob = {'name': q.name, 'city': q.city.name} # Notice how i use the relation here for city. So the nested relation is becoming flat for city
res.append(ob)
return res
现在,您可以在代码中使用
data = my_custom_serializer(mymodel_queryset)
return Response(status=status.HTTP_200_OK, data=data)
希望这会对你有所帮助。 :)