Python 为rest框架返回的json附加元数据

Python 为rest框架返回的json附加元数据,python,json,django,django-rest-framework,Python,Json,Django,Django Rest Framework,我有一个名为station的模型,并根据django rest框架制作了API 现在,它返回与表的cols对应的Json { [ {id: 1,name:"station1"}, {id: 2,name:"station2"} ] } 但是,我希望像这样为这个Json附加元数据 { meta : {'time':"2020-02-02 00:00:00:",'apiName:"myapi"}, items :[

我有一个名为station的模型,并根据django rest框架制作了API

现在,它返回与表的cols对应的Json

{
    [ 
        {id: 1,name:"station1"},
        {id: 2,name:"station2"}
    ]
}
但是,我希望像这样为这个Json附加元数据

{
    meta : {'time':"2020-02-02 00:00:00:",'apiName:"myapi"},
    items :[ 
        {id: 1,name:"station1"},
        {id: 2,name:"station2"}
    ]
}
可能吗?或者我该怎么做???

您需要覆盖视图集的列表方法:

更新:

将过滤添加到ModelViewSet时,应执行以下操作:

def list(self, request, *args, **kwargs):
    queryset = self.filter_queryset(self.get_queryset())
    custom_data = {
        'list_of_items': self.get_serializer(queryset, many=True).data
    }
    custom_data.update({
        'meta': #your extra data
    })
    return Response(custom_data)
您需要覆盖视图集的列表方法:

更新:

将过滤添加到ModelViewSet时,应执行以下操作:

def list(self, request, *args, **kwargs):
    queryset = self.filter_queryset(self.get_queryset())
    custom_data = {
        'list_of_items': self.get_serializer(queryset, many=True).data
    }
    custom_data.update({
        'meta': #your extra data
    })
    return Response(custom_data)

非常感谢你。它救了我!!还有一个问题…,我能再问一个问题吗??我用了过滤器。但当我重写列表时,这些类就不起作用了。更新文章–@whitebear我更新了答案,希望对你有用。非常感谢。它救了我!!还有一个问题…,我能再问一个问题吗??我用了过滤器。但当我重写列表时,这些类就不起作用了。更新文章–@whitebear我更新了答案,希望对你有用。
def list(self, request, *args, **kwargs):
    queryset = self.filter_queryset(self.get_queryset())
    custom_data = {
        'list_of_items': self.get_serializer(queryset, many=True).data
    }
    custom_data.update({
        'meta': #your extra data
    })
    return Response(custom_data)