Есть три модели.
class A(models.Model): name = models.CharField() class B(models.Model): a = models.ForeignKey(A) name = models.CharField() class C(models.Model): a = models.ForeignKey(A, related_name='mya') day = models.IntegerField()
Делаю запрос во вьюхе:
q = B.objects.filter(name='blahblah').select_related('a')
В результате получаются объекты модели B и связанные с ними объекты модели A в одном запросе.
А как в этом же запросе, захватить объекты модели C которые связаны с A как многие к одному!
Можно сделать так:
q = B.objects.filter(name='blahblah').select_related('a', 'a.mya')
Или правильней даже так:
q = B.objects.filter(name='blahblah').select_related('a').prefetch_related('a.mya')