【发布时间】:2020-01-26 20:14:10
【问题描述】:
我在 Django ORM 中尝试做的事情如下:
- 按用户分组
- 利润总和
- 使用该用户的最新状态进行注释
我的查询集如下所示:
Sales.objects.values('user').annotate(
profits = Sum('profit'),
status = Subquery(Status.objects.filter(username=OuterRef('user')).order_by('-date').values('status')[:1]
).order_by()
如果我检查此查询集的 SQL 查询,我可以看到 status 字段已添加到 group by 子句中。但是这个查询无法执行。如何防止 Django 将此添加到 group by 子句?因为查询的其余部分工作正常。
【问题讨论】: