Django ORM,group_by 按所有值分组

Posted

技术标签:

【中文标题】Django ORM,group_by 按所有值分组【英文标题】:Django ORM, group_by is grouping by all values 【发布时间】:2013-12-17 14:57:37 【问题描述】:

当我尝试使用时

products = products.annotate(count_prices=Count('prices'))

不幸的是它使用了所有的选择参数:(

如何强制按一个字段分组?例如,我有很多

products.extra(select = 'purchase_price': """ ...

它正在将它添加到分组依据。有任何想法吗?

【问题讨论】:

我已经回答了您的问题,但为了将来的通知,请尝试提供更多详细信息,例如products 是什么,你要分组的字段等等。 【参考方案1】:

按字段“x”分组:

products.values("x").annotate(count_prices=Count('prices')).order_by()

【讨论】:

谢谢,但后来我无法访问其他字段。我不能轻易地包含更多,因为它确实是代码的重要部分,我还没有深入研究它(它不是我的)。我在想有一种简单的方法可以说 group_by('field')。使用 values() 我无法访问其他字段。

以上是关于Django ORM,group_by 按所有值分组的主要内容,如果未能解决你的问题,请参考以下文章

Django ORM:按对象列表过滤

Django ORM 查询

Django ORM按小时分组,不包括分钟。

在 Django ORM 中按查询分组

Django之ORM查询进阶

Django ORM 按过滤器排序