【发布时间】:2019-04-17 18:12:48
【问题描述】:
models.py
class Iso(models.Model):
service_type = models.CharField(max_length=100, blank=True, null=True)
field_1 = models.IntegerField(blank=True, null=True)
field_1_size = models.IntegerField(blank=True, null=True)
field_2 = models.IntegerField(blank=True, null=True)
field_2_size = models.IntegerField(blank=True, null=True)
在我的views.py中,我有两个查询集如下,现在如果我想将查询组合在一起并且如果用户输入的field_1值和field_2值相同,则应该对其进行汇总。
qs1 = Model.objects.values('service_type', 'field_1')\
.annotate(field_total=Sum('field_1_size'))
qs2 = Model.objects.values('service_type', 'field_2')\
.annotate(field_total=Sum('field_2_size'))
我试过了, qs_tot = qs1.union(qs2) 如果 field_1 和 field_2 相同,它结合查询集但不给出总和值。任何帮助将不胜感激。谢谢。
【问题讨论】:
-
不,它只是添加两个字段,而不考虑值列表,如果它的 field_1 值与 field_2 值相同,我想要两个字段的总和