我正在为web应用程序使用django_rest_framework。我已经为各个表的所有必要的CRUD操作创建了必要的API端点。
现在我想对多个表的数据进行计算,并将计算结果作为响应发送给前端进行处理。
我可以想出两种方法来做到这一点,这将是更有效的(或者正确的(Django方法(方法,如果有的话(:
1.使用Pandas的计算
- 创建一个视图,该视图将通过GET请求调用
- 从必要的表中获取数据的查询集
- 将它们转换为熊猫数据帧
- 进行必要的计算
- 将DataFrame重新转换为JSON对象并返回响应
2.为计算创建单独的模型、序列化程序和视图
如果有其他库或方法可以做到这一点,请提供一些建议
您可以这样做来检索作为数据帧的对象:
queryset = Costs_workspaces.objects.all()
df = pd.DataFrame.from_records(queryset.values())
另一个视图集示例:
class apiname(mixins.ListModelMixin, viewsets.GenericViewSet):
queryset = your_model.objects.all()
def list(self, request):
df = pd.DataFrame.from_records(self.get_queryset().values())
... more code ...
return HttpResponse(json.dumps(your dict), content_type="application/json")
你能给我们的最后一个选择是姜戈熊猫