【发布时间】:2011-01-27 01:46:37
【问题描述】:
我正在寻找类似以下的内容:
previous_invoices = Invoice.objects.filter(is_open=False)
.order_by('-created')
.group_by('user')
但是group_by() 不存在...
这将找到每个用户最近关闭的发票。
这个aggregation API 似乎可以让你为计数和总和做这样的事情,但我不需要计数或总和或任何东西,我实际上想要发票对象!
【问题讨论】:
-
在使用 group by 时是否定义了 selected 事物?我希望它会根据 sql 实现产生不同的结果...
-
@user3012759 否。排序发生在分组之后,您在该组中返回的记录是未定义的。我花了一段时间才真正理解这一点。
ONLY_FULL_GROUP_BY应该默认启用 IMO,这样你就不会犯这个错误。 -
嘿@mpen 我添加了一个更新的尝试来回答。想看看吗?
-
@JohnMoutafis 我当然可以看。我不再使用 Django,但如果我这样做的话,那看起来会很有帮助:-)
-
很高兴知道@mpen :)
标签: python django group-by django-orm