16

私は Django を使用しており、2 つの内部結合を使用してクエリセットを実行する必要があります。

モデル A、B、C の 3 つがあり、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 の 1 つのものにリンクし、B のすべてが A の 1 つのものにリンクします。C に何かがある A のすべての個別の要素を取得しようとします。

django querysetを使用してこれを行うにはどうすればよいですか? ありがとう。

4

1 に答える 1