我要重写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()
这是正确的方法吗?如果是,我如何实现我的目标?