类Project(models.Model): categories = models.ManyToManyField(Category)
class Category(models.Model):
name = models.CharField()
现在,我做了一些查询集:
query = Project.objects.filter(id__in=[1,2,3,4])
我希望获得此查询集中所有不同类别的列表,其中包含引用这些类别的项目数量 - 我希望得到这样的结果:
category1 - 10 projects
category2 - 5 projects
与此查询相反:
query2 = query.annotate(Count('categories'))
是什么让我回报:
project1 - 2categories
project2 - 7categories
我怎样才能在django ORM中制作它?
答案 0 :(得分:0)
Category.objects.filter(project__in=query).annotate(Count('project'))