Django的计数和分组依据

我有一个看起来像这样的模型:

class Category(models.Model):

name = models.CharField(max_length=60)

class Item(models.Model):

name = models.CharField(max_length=60)

category = models.ForeignKey(Category)

我想要为每个类别选择项目的计数(只是计数),因此在SQL中,它会像这样简单:

select category_id, count(id) from item group by category_id

有没有相当于做这种“ Django方式”?还是纯SQL是唯一的选择?我熟悉Django中的count()方法,但是我看不出group by如何适合那里。

回答:

正如我刚刚发现的,这里是如何使用Django 1.1聚合API进行此操作:

from django.db.models import Count

theanswer = Item.objects.values('category').annotate(Count('category'))

以上是 Django的计数和分组依据 的全部内容, 来源链接: utcz.com/qa/398793.html

回到顶部