關係我有4款車型,我想找回它們MODELADjango的逆轉與select_related
class ModelA(models.Model):
product = models.ForeignKey(ModelB)
group = models.ForeignKey(Group)
之間
聯接ModelB
class ModelB(models.Model):
title = models.CharField()
ModelC
class ModelC(models.Model):
product = models.ForeignKey(ModelB)
group = models.ForeignKey(ModelD)
ModelD
class ModelD(models.Model):
name = models.CharField()
現在我想我所有的MODELA對象與加入ModelB,ModelC和ModelD 在SQL這是很容易的事。只需在表格之間進行連接。 與Django的ORM我卡住,因爲我只能做前進的關係。
我這樣做
ModelA.objects.all().select_related(product)
但我不能參加ModelC 我已經讀this article,但我不想遍歷我的大名單,做一個簡單的事情!我只想打一次數據庫。
我使用的Django的最後一個版本,我希望已經有到了一個解決方案,我是不知道的。
謝謝。
你有沒有嘗試過這樣的事情: 'ModelA.objects.all()。select_related('product','product__modelc','product__modelc__group')' ?不發佈這個作爲答案,因爲我不是絕對相信,如果它是你想要的。 –
@bildja:'select_related'不支持遍歷。 –