在Django REST Framework中命名为JSON数组 [英] Named JSON array in Django REST Framework
本文介绍了在Django REST Framework中命名为JSON数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
实际上我已经定义了模型序列化器:
Actually I've defined model serializer:
class MyObjectSerializer(serializers.ModelSerializer):
class Meta:
model = MyObject
fields = ('id', 'name', )
为我准备JSON响应的格式:
which prepare for me JSON reponse in format:
[
{ "id": 1, "name": "Object One"},
{ "id": 2, "name": "Object Two"}
]
我应该如何修改序列化器类以获取以下格式的JSON响应:
How should I modify my serializer class to get JSON response in format:
{
"results":
[
{ "id": 1, "name": "Object One"},
{ "id": 2, "name": "Object Two"}
]
}
您对django-rest-framework文档有任何建议或链接,在哪里可以找到关于此问题的说明?
Do you have any advices or link to django-rest-framework documentation where can I find description to this issue?
推荐答案
看看list()
方法假设您没有使用分页数据(您暗示这是分页数据),实际上只是在这样做:
Assuming you're not using paginated data (which you question implys) it's essentially just doing this:
def list(self, request, *args, **kwargs):
self.object_list = self.filter_queryset(self.get_queryset())
serializer = self.get_serializer(self.object_list, many=True)
return Response(serializer.data)
因此,您只需要重写它即可使用自己的自定义样式...
So, you just need to override that to use your own custom style instead...
def list(self, request, *args, **kwargs):
self.object_list = self.filter_queryset(self.get_queryset())
serializer = self.get_serializer(self.object_list, many=True)
return Response({'results': serializer.data})
这篇关于在Django REST Framework中命名为JSON数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文