在django中按字段类型计算数据库条目

时间:2011-02-26 22:41:28

标签: django count unique models

我的django项目中有一个名为“change”的模型,它有一个名为“change_type”的字段。 change_type字段中有多个值包括“move”,“new”,“edit”以及其他在任何给定时间段内随机添加新类型的值。我目前正在使用普通的django查询来选择更改模型中的条目组。

是否有快速方法来确定change_type字段中的唯一条目?是否有快速方法返回每个条目类型的计数?

4 个答案:

答案 0 :(得分:3)

找到解决方案后,它非常简单。

Change.objects.all().values('change_type').distinct()

答案 1 :(得分:1)

把它放在一起:

 occurrences = {}
 change_types = Change.objects.values_list('change_type', flat=True).distinct()

 for type in change_types:
     occurrences[type] = Change.objects.filter(change_type=type).count()

答案 2 :(得分:0)

答案 3 :(得分:0)

现在可以使用aggregation

更有效地实现此功能

Change.objects.values('change_type').annotate(Count('change_‌​type'))

输出包含每个change_type__count的{​​{1}}字段。