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

发布于 2024-10-19 09:31:41 字数 219 浏览 1 评论 0原文

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

是否有一种快速方法可以确定 Change_type 字段中的唯一条目?是否有一种快速方法可以返回每种条目类型的计数?

I have a model in my django project called "change" and it has a field called "change_type". There are multiple values within the change_type field to include "move", "new", "edit" and others with new types being added randomly over any given period of time. I am currently using normal django queries to select groups of entries within the change model.

Is there a quick method to determine what unique entries are in the change_type field? Is there a quick method to return a count of each entry type?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

治碍 2024-10-26 09:31:41

找到解决方案后,其实很简单。

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

After finding the solution, it is really simple.

Change.objects.all().values('change_type').distinct()
靑春怀旧 2024-10-26 09:31:41

把它放在一起:

 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()

Putting it together:

 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()
如何视而不见 2024-10-26 09:31:41

现在可以使用聚合更有效地实现这一点:


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

输出包含每个 change_typechange_type__count 字段。

This can now be much more effectively implemented using aggregation:


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

The output contain change_type__count field for each respective change_type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文