我知道Django 1.1有一些新的聚合方法.然而,我无法理解以下查询的类似功能:

SELECT player_type, COUNT(*) FROM players GROUP BY player_type;

是否可以使用Django 1.1的模型查询API,或者我应该只使用纯SQL?

推荐答案

如果您使用的是Django 1.1测试版(trunk):

Player.objects.values('player_type').order_by().annotate(Count('player_type'))
  • values('player_type')-仅将player_type字段包含在GROUP BY条款中.
  • order_by()-用于排除可能导致SELECTGROUP BY中包含不需要的字段的可能默认排序.

Django相关问答推荐

如何在对接合成时创建两个Postgres数据库?

AttributeError:';ManyToOneRel&39;对象没有属性';attname';

在Python中向函数的查询列表添加条件

Django-admin 显示decorator 按多列排序

错误``Forbidden (403) CSRF 验证失败.请求中止.``` 当try 登录管理员时

在不指定查找的情况下调用 prefetch_lated() 有用吗?

Docker 中的 Django检测到更改...,正在重新加载错误

如何将 select_related 应用于 Django 中的 m2m 关系的对象?

相关字段查找无效:​​icontains

一个简单的Django和CSS示例

django npm 和 node 包架构

Heroku - 在 Django 应用程序中处理静态文件

Django 存储匿名用户数据

Django unique=True 不工作

如何查询名称包含python列表中任何单词的模型?

如何在不同的元素上添加注释?

如何获取经过身份验证的用户列表?

警告:找不到分发的 svn 位置==0.6.16dev-r0

Django 的 Select .如何设置默认选项?

有没有一种简单的方法可以从 CharField 填充 SlugField?