Django моделирует ВНУТРЕННИЕ РЕШЕНИЯ - PullRequest
0 голосов
/ 09 сентября 2011

Как я могу получить внутреннее соединение между двумя таблицами безоговорочно? Имея модели A, B:

class A(models.Model):
    pass

class B(models.Model):
    a = models.ForeignKey(A)

Когда у меня есть состояние, я могу написать:

A.objects.filter(b__pk=1)

Но как мне сгенерировать следующий запрос:

SELECT * from A INNER JOIN B ON a.b = b.pk

1 Ответ

0 голосов
/ 09 сентября 2011
for a in A.objects.all():
    for b in a.b_set.all():
        # you have the joined pair a and b

Или

for b in B.objects.all():
    for a in b.a.all():
        # you have the joined pair a and b
...