Я работаю с Django, и мне нужно сделать запрос, используя два внутренних объединения.
У меня есть три модели A, B и C, и я хочу сделать такой запрос, как в psql:
select DISTINCT a from A inner join B on B.a_id = A.id inner join C on C.b_id = B.id;
Модели: (включены только соответствующие поля)
class A(models.Model):
id = models.IntegerField(primary_key=True)
class B(models.Model):
id = models.IntegerField(primary_key=True)
a = models.ForeignKey(A, null=True, blank=True,on_delete=models.SET_NULL)
class C(models.Model):
b = models.ForeignKey(B, null=True, on_delete=models.SET_NULL)
Итак, все в C ссылается на одну вещь в B и все в B обращается к одной вещи в A. Я хочу попробовать и получить все отдельные элементы в A, которые имеют что-то в C.
Как это сделать, используя django queryset? Спасибо.