Как посчитать все различные записи в отношениях многих ко многим в Django ORM? - PullRequest
1 голос
/ 25 марта 2010

Класс проекта (модели. Модель): category = 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?

1 Ответ

0 голосов
/ 25 марта 2010
Category.objects.filter(project__in=query).annotate(Count('project'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...