DRF从外部资源向列表视图添加一些额外的值

时间:2019-01-21 22:04:05

标签: python django django-rest-framework

我要重写ViewSet的def list(自身,请求)功能,因为我想通过从外部API来源提取更多信息来向返回的Response添加更多字段。合并是通过两个结果集的一个公共字段“ identity”完成的。下面是一些我想要的伪代码:

class ExampleViewSet:
 def list(self, request):
     call_external_api = get_my_json_data_through_api()
     json_data = call_external_api.json()

     queryset = ExampleModel.objects.all()
     list_result = [entry.__dict__ for entry in queryset]

     result = {x['identity']: x for x in list_result +
                  json_data}.values()

     serializer = MyCustomSerializer(
            data=result, many=True)
     serializer.is_valid()

这是正确的方法吗?如果是,我如何实现我的目标?

0 个答案:

没有答案