2015-07-21 43 views
0

我有3個模型命名爲A,B和C. C有外鍵給B,而B有外鍵給A.我想要做的是我想要獲得類A的所有對象與B類和B的某個對象相關,都與使用類C的字段查找的C的對象有關。在Django中使用兒童模型的字段獲取父對象

Class A(models.Model): 
    name = models.CharField(max_length=100) 

Class B(models.Model): 
    a = models.ForeignKey(A) 
    name = models.CharField(max_length=100) 

Class C(models.Model): 
    b = models.ForeignKey(B) 
    name = models.CharField(max_length=100) 

我想打一個Django查詢從哪裏得到這些都與B級且其中B與C類A級的所有相關對象

意味着使用c.name的價值我想A.

回答

1
A.objects.filter(b__c__name='some name') 
+0

它給了我這個錯誤'FieldError的所有對象:關聯字段不支持嵌套lookups' –

+0

你定義'related_name = ...'在一些領域?如果是這樣,你可能會得到這個錯誤。 – f43d65

+0

是的,你是對的。謝謝。我有related_name定義這就是爲什麼它給錯誤。謝謝 –