我有一个看起来像这样的模型:
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'))
关于python - Django 等效于 count 和 group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/327807/