Подтвердить что ты не робот

Django получает объекты, на которые не ссылается внешний ключ

У меня есть две модели:

class AA(models.Model):
    name = models.CharField()
    state = models.IngerField()


class BB(models.Model):
    aa_id = models.ForeignKey(AA)

Мой вопрос: Как я получаю все объекты AA с состоянием 10 и которые не находятся в BB?

В sql я делаю что-то вроде этого:

select * from AA 
where  AA.state = 10 and AA.id not in (select aa_id from BB)

или

select * from AA
left join BB on BB.aa_id = AA.id
where AA.state = 10 and BB.id is null

Я знаю, что я могу получить все объекты AA и проверять один за другим, если у BB есть внешний ключ. Но это неправильная вещь.

Спасибо.

4b9b3361

Ответ 1

Что-то вроде этого:

AA.objects.filter(state=10, bb=None)