如何在Django REST框架中将Json密钥添加到数组列表中

时间:2015-09-22 17:00:11

标签: json django rest

我正在使用Django REST框架来制作API。

对于我的序列化模型,我得到的响应如下:

[GET] http://12.0.0.1/0.5/barrios/?format=json

[
  {
    "name": "La Julia",
    "zone": 1
  },
  {
    "name": "La Floresta",
    "zone": 2
  }
]

但是,我想要的是这样的:

{
  "barrios": { 
    "barrio": [
      {
        "name": "La Julia",
        "zone": 1
      },
      {
        "name": "La Floresta",
        "zone": 2
      }
    ]
  }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以覆盖视图中的list()方法以获得所需的响应。

class MyView(..):

    def list(self, request, *args, **kwargs):
        queryset = self.filter_queryset(self.get_queryset())
        serializer = self.get_serializer(queryset, many=True)
        serializer_data = serializer.data # get the default serialized representation
        custom_data = {'barrios': {'barrio': serializer_data}} # custom representation
        return Response(custom_data)