gpt4 book ai didi

python - django 计算一个字段但按另一个字段分组

转载 作者:行者123 更新时间:2023-11-29 12:05:22 33 4
gpt4 key购买 nike

所以我将 django 与 mysql 一起使用,并且我有一个模型 MyModel,其中包含一些 region 字段上带有 None 的项目。当我运行这个时:

results = MyModel.objects.all()\
.values('region')\
.annotate(total=Count('region'))

它正确返回分组,但有一个是 {'None': 0},这是不正确的,因为有些项目的 region 字段等于

现在,如果我使用 mysql 那么我可以将其分组为:

select region, count(id) from model_table group by region;

返回我想要的解决方案|空 | 5 |

如何从 django 实现此目的?

最佳答案

您实际上已经在问题中写下了答案。据我所知,SQL 中的 COUNT 排除了某些错误值,例如 NULL。因此,如果您还想计算错误值,则可以使用另一个字段来执行聚合,就像在 SQL 语句中使用“id”字段一样。在这一点上,您所需要做的就是对“id”执行 COUNT 操作。将您的代码更改为如下所示:

results = MyModel.objects.all()\
.values('region')\
.annotate(total=Count('id'))

关于python - django 计算一个字段但按另一个字段分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576819/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com