所以,我在以下情况下苦苦挣扎:
考虑模型:
class A(models.Model):
foo = models.IntegerField(default=0)
class B(models.Model):
a_models = models.ForeignKey('A', related_name='b_models')
bar = models.IntegerField(default=0)
class bChild(B):
bla = models.IntegerField(default=0)
如果我有一个 A 的实例,a_instance,并且我想检索与它有关系的 B 类的所有实例,我可以使用
all_b_models = a_instance.b_models.all()
我的问题是:如果我只想检索也有 bChilds 的那些怎么办:
all_bChild_models = a_instance.b_models.filter(???)
我应该在“???”中输入什么?
我没有找到任何文档。我认为有效的一件事是使用:
??? = pk__in=bChild.objects.all().values_list('pk')
但是,由于 django 为多表继承创建了隐式向后关系,我想知道是否有更简单的查询。
谢谢,豪尔赫