Django ORM:将聚合查询集链接到一个

Django ORM:将聚合查询集链接到一个,django,orm,aggregate,chaining,django-queryset,Django,Orm,Aggregate,Chaining,Django Queryset,我能把这两个查询集连成一个吗 qs1 = OrderTicket.objects.filter(date__gt=datetime.date(2009, 1, 1), date__lt=datetime.date(2009, 1, 30)).values('order_type').annotate(value_1 = Sum('gbp_value')).order_by('order_type'), qs2 = OrderTicket.objects.filter(date__gt=datet

我能把这两个查询集连成一个吗

qs1 = OrderTicket.objects.filter(date__gt=datetime.date(2009, 1, 1), date__lt=datetime.date(2009, 1, 30)).values('order_type').annotate(value_1 = Sum('gbp_value')).order_by('order_type'),
qs2 = OrderTicket.objects.filter(date__gt=datetime.date(2009, 2, 1), date__lt=datetime.date(2009, 2, 30)).values('order_type').annotate(value_2 = Sum('gbp_value')).order_by('order_type'),
我只需要value_1和value_2列。Q对象不是我需要的。也许ORM不支持这一点。

我建议使用替换日期和日期的过滤器

示例(未测试):


这将返回您要查找的两个日期。

您可以使用|和&运算符组合查询集:

# You can combine queries with & and |.
>>> s1 = Article.objects.filter(id__exact=1)
>>> s2 = Article.objects.filter(id__exact=2)
>>> s1 | s2
[<Article: Area woman programs in Python>, <Article: Second article>]
>>> s1 & s2
[]
#您可以将查询与&和|相结合。
>>>s1=Article.objects.filter(id\uu-exact=1)
>>>s2=Article.objects.filter(id\uu=2)
>>>s1 | s2

[

谢谢Tom,但这不是我想要的。value_1和value_2将每个月的所有gbp_值相加。我如何链接这两个聚合查询集?
# You can combine queries with & and |.
>>> s1 = Article.objects.filter(id__exact=1)
>>> s2 = Article.objects.filter(id__exact=2)
>>> s1 | s2
[<Article: Area woman programs in Python>, <Article: Second article>]
>>> s1 & s2
[]