【发布时间】:2019-11-21 09:14:53
【问题描述】:
我有一个这样的查询集。我想要基于“id”的“n”总和。
这是我的查询集:
<QuerySet [{'id': 1, 'n': 0}, {'id': 2, 'n': 0}, {'id': 2, 'n': 1}, {'id': 3, 'n': 2}, {'id': 4, 'n': 0}, {'id': 5, 'n': 1}, {'id': 5, 'n': 0}]>
这是我的代码:
drivers = Driver.objects.values('id').annotate(
travel_time=Sum(Case(
When(car__ride__pickup_time__isnull=False,
then=(F('car__ride__dropoff_time') - F('car__ride__pickup_time'))),
default=0
)),
).annotate(
n=Case(
When(Q(travel_time__gt=t) & Q(car__model__gte=n), then=Count('car__ride')),
output_field=IntegerField(),
default=0
)
).values('id', 'n')
我不知道如何根据 id 进行分组:(
【问题讨论】:
标签: django python-3.x group-by django-queryset