gpt4 book ai didi

django - 使用 Django ORM 过滤计数

转载 作者:行者123 更新时间:2023-12-04 05:21:28 26 4
gpt4 key购买 nike

我有一个查询,基本上是“计算所有类型 X 的项目,并返回存在多次的项目及其计数”。现在我有这个:

Item.objects.annotate(type_count=models.Count("type")).filter(type_count__gt=1).order_by("-type_count")

但它什么都不返回(所有项目的计数为 1)。我究竟做错了什么?

理想情况下,它应该得到以下内容:
Type
----
1
1
2
3
3
3

并返回:
Type, Count
-----------
1 2
3 3

最佳答案

为了计算每种类型的出现次数,您必须按 type 分组。 field 。在 Django 中,这是通过使用 values 来完成的。得到那个领域。所以,这应该有效:

Item.objects.values('group').annotate(
type_count=models.Count("type")
).filter(type_count__gt=1).order_by("-type_count")

关于django - 使用 Django ORM 过滤计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3795449/

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