2015-07-21 41 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定义这就是为什么它给错误。谢谢 –