Django REST框架中的命名JSON数组
实际上,我已经定义了模型序列化程序:Django REST框架中的命名JSON数组,django,json,django-rest-framework,Django,Json,Django Rest Framework,实际上,我已经定义了模型序列化程序: class MyObjectSerializer(serializers.ModelSerializer): class Meta: model = MyObject fields = ('id', 'name', ) 为我准备JSON响应的格式: [ { "id": 1, "name": "Object One"}, { "id": 2, "name": "Object Two"} ] { "results": [
class MyObjectSerializer(serializers.ModelSerializer):
class Meta:
model = MyObject
fields = ('id', 'name', )
为我准备JSON响应的格式:
[
{ "id": 1, "name": "Object One"},
{ "id": 2, "name": "Object Two"}
]
{
"results":
[
{ "id": 1, "name": "Object One"},
{ "id": 2, "name": "Object Two"}
]
}
我应该如何修改序列化程序类以获得JSON响应格式:
[
{ "id": 1, "name": "Object One"},
{ "id": 2, "name": "Object Two"}
]
{
"results":
[
{ "id": 1, "name": "Object One"},
{ "id": 2, "name": "Object Two"}
]
}
您是否有任何关于django rest framework文档的建议或链接,我可以在哪里找到此问题的描述?请查看
list()
方法
假设您没有使用分页数据(您的问题暗示了这一点),那么基本上就是这样做的:
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)
所以,您只需要覆盖它,以使用自己的自定义样式来代替
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})
我不知道是否有可能的内置解决方案,但为什么不创建自己的dict,例如
results={“results”:json\u from\u serializer}
?谢谢Tom。这就是我要找的。