Фильтрация на основе .count () поля подделки ключей в наборах запросов Django - PullRequest
3 голосов
/ 09 ноября 2011

Итак, у меня есть несколько моделей Django 1.3, подобных этой:

class Type(models.Model):
  is_bulk = models.BooleanField()

class Component(models.Model):
  parent = models.ForeignKey(Type)

Некоторые Type имеют 0 Component, некоторые имеют 1 или 2 и т. Д. Как мне написать QuerySet, который фильтрует все типы, имеющие> 0 компонентов. то есть исключить типы с 0 компонентами?

1 Ответ

5 голосов
/ 09 ноября 2011
from django.db.models import Count
Type.objects.annotate(component_count=Count('component')).exclude(component_count=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...