有没有一种简单的方法来获取Django Queryset中的double level related_name实例?

时间:2017-12-25 07:18:52

标签: python django django-queryset

我有三个模型:

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")

如果我有一个AModel实例,如果我想获取它的所有cmodel实例,我将使用forloop:

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

但是,是否有一种简单的方法来获取所有cmodel实例?

1 个答案:

答案 0 :(得分:2)

CModel.objects.filter(b__a__name='something')