2017-12-25 3 views
0

私は3つのモデルが怒鳴る持っている:Django Querysetで二重レベルrelated_nameインスタンスを取得する簡単な方法はありますか?

class AModel(models.Model): 
    name = models.CharField(max_length=11) 

class BModel(models.Model): 
    name = models.CharField(max_length=11) 
    a = models.ForeignKey(AModel, related_name="bs") 

class CModel(models.Model): 
    name = models.CharField(max_length=11) 
    b = models.ForeignKey(BModel, related_name="cs") 

私はアモデルインスタンスを持っている場合、私はそれのすべてcmodelインスタンスを取得したい場合、私はforloopを使用します。

c_list = [] 
for b in a.bs: 
    for c in b.cs: 
     c_list.append(c) 

しかし、かどうかaのすべてのモデルインスタンスを取得する簡単な方法がありますか?

答えて

2
CModel.objects.filter(b__a__name='something') 
関連する問題