#django #orm #django-queryset #django-orm
#django #orm #django-набор запросов #django-orm
Вопрос:
Итак, у меня есть несколько моделей Django 1.3, подобных этой:
class Type(models.Model):
is_bulk = models.BooleanField()
class Component(models.Model):
parent = models.ForeignKey(Type)
У некоторых Type
есть 0 Component
, у некоторых есть 1 или 2 и т.д. Как мне написать набор запросов, который фильтрует все типы, содержащие > 0 компонентов. т. Е. исключает типы, содержащие 0 компонентов?
Ответ №1:
from django.db.models import Count
Type.objects.annotate(component_count=Count('component')).exclude(component_count=0)