将多个查询集传递给序列化器并在DRF中进行计算

时间:2018-09-26 15:00:30

标签: python django django-rest-framework

我想传递多个由不同关键字过滤的查询集。

qs_x = timeseries.objects.filter(html__pk=pk).filter(keyword=key_x)
qs_y = timeseries.objects.filter(html__pk=pk).filter(keyword=key_y)

我想传递此多个查询集并基于这两个查询集进行计算。我在下面尝试过,但是此运行序列化程序两次分别接收每个查询集。

combine_qs=qs_x|qs_y
serializer = scatterChartSerializer(combine_qs,many=True)  

我想计算一下同时接收这两个查询集。 有谁知道如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以尝试Q objects

from django.db.models import Q    

combined_result = timeseries.objects.filter(html_pk=pk).filter(Q(keyword=key_x) | Q(keyword=key_y))
serializer = scatterChartSerializer(combined_result, many=True)