【问题标题】:How to use Group by clause in django with the filter query如何在 django 中使用 Group by 子句和过滤器查询
【发布时间】:2013-09-19 04:54:07
【问题描述】:

我浏览了很多链接和网站,但在任何地方都找不到解决问题的方法。所以我终于来到了这里。

我的问题是,我想在过滤查询中使用 group by 子句。

我找到了这个

How to query as GROUP BY in django?

对于 objects.all() 。但是找不到 objects.filter() 的任何东西

这是我的查询

query =Kicthen.objects.filter( cabinets='1').query

query.group_by = ['style_id']

results = QuerySet(query=query, model=Kicthen)

但它一无所获。

我不想对它使用任何注释和区别

【问题讨论】:

  • 你想通过分组对象做什么?你的聚合函数在哪里?
  • 是否强制使用带有 group by 子句的聚合函数。我不能使用 group by 子句来获取不同的值吗?
  • 如果您按特定列对结果进行分组,则需要对其他列进行处理。如果您只想要不同的值,请使用.values_list('style_id', flat=True).distinct()
  • 我已经提到我不想使用 dictinct

标签: django


【解决方案1】:

【讨论】:

  • 我只显示另一个选项。将该评论提供给原始命令的创建者
  • @yuvi SQL 有什么可怕的?此外,如果您知道更好的解决方案,最好将其添加为答案。
  • @redbmk 但很认真。 SQL 很糟糕,只是......所以,太糟糕了。人们构建一个完整的框架是有原因的,该框架具有专用于避免它的功能。除了 raw 之外,我想说聚合是简单的解决方案,但 OP 似乎没有它(参见上面的 cmets),所以实际上没有那么多其他选项。
猜你喜欢
  • 2013-09-22
  • 2016-05-09
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
相关资源
最近更新 更多