Есть модели: Фильмы, Сеансы показов этих фильмов и Билеты на эти сеансы.
В каждой модели есть булево поле checked (включен или выключен объект).
class Film(models.Model):
checked = models.BooleanField()
class Seance(models.Model):
checked = models.BooleanField()
film = models.ForeignKey(Film)
class Ticket(models.Model):
checked = models.BooleanField()
seance = models.ForeignKey(Seance)
Как выбрать включенные фильмы, на которые есть включенные сеансы, на которые есть билеты?
Вариант
Film.objects.filter(checked=True, seance__checked=True, seance__ticket__isnull=False)
не совсем верный. Т.к. в эту выборку попадают фильмы у которых есть включенные сеансы без билетов и есть выключенные с билетами.