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

问题描述 投票:0回答:1

我有三个模型:

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实例?

python django django-queryset
1个回答
2
投票
CModel.objects.filter(b__a__name='something')
© www.soinside.com 2019 - 2024. All rights reserved.