私はまだDjangoを学んでいます。 Django 1.8以上の知識があり、これについて私に助けてくれる人。私は、このSQLクエリに相当し、クエリを実行したい、これらの5つのテーブルを結合するには問題がある:Django 1.9で複数のテーブルに結合する
SELECT *
from modelname1 a
join modelname2 b on a.id = b.id
join modelname3 c on c.id = b.id
join modelname4 d on d.id = c.id
join modelname5 on e.id = d.id;
私はこれらのモデルを持っている:
class modelname1(models.Model):
modelname1_id = models.AutoField(primary_key = True)
a = models.CharField(max_length = 200)
b = models.CharField(max_length = 200)
class modelname2(models.Model):
modelname2_id = models.AutoField(primary_key = True)
a = models.CharField(max_length = 200)
b = models.CharField(max_length = 200)
c = models.ForeignKey(modelname1)
class modelname3(models.Model):
modelname3_id = models.AutoField(primary_key = True)
a = models.CharField(max_length = 200)
b = models.CharField(max_length = 200)
c = models.ForeignKey(modelname2)
class modelname4(models.Model):
modelname4_id = models.AutoField(primary_key = True)
a = models.CharField(max_length = 200)
b = models.CharField(max_length = 200)
c = models.ForeignKey(modelname3)
class modelname5(models.Model):
modelname5_id = models.AutoField(primary_key = True)
a = models.CharField(max_length = 200)
b = models.CharField(max_length = 200)
c = models.ForeignKey(modelname4)
私が翻訳する方法がわかりません上記のDjangoの質問 私は同じ答えになったクエリを作ることができますが、私は同じ答えを得る前に複数のクエリに分割する必要があります。 ありがとうございました!
あなたの考え方を変更することをお勧めします。 ORMを使用して、好きなフィールドの値を取得するだけで、クエリに「翻訳」する必要はないでしょう。 – Wtower
あなたは最終的にどのフィールドをあなたの出力から探しますか? – AKS
@AKS - 1つのクエリですべてのテーブルに参加して条件を設定したいと思います。 –