我仍在学习Django。任何熟悉Django 1.8或更高版本的人都可以帮助我解决这个问题。我在参加这5台的问题,我想执行一个查询,相当于这个SQL查询:在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 - 我想在一个查询中加入所有表格并且有条件。 –