我知道Django 1.1有一些新的聚合方法.然而,我无法理解以下查询的类似功能:
SELECT player_type, COUNT(*) FROM players GROUP BY player_type;
是否可以使用Django 1.1的模型查询API,或者我应该只使用纯SQL?
我知道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()
-用于排除可能导致SELECT
和GROUP BY
中包含不需要的字段的可能默认排序.