У меня есть две модели:
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 есть внешний ключ. Но это неправильная вещь.
Спасибо.