我有一个名为 A 的树状 Django 模型,由 django-mptt 完成。
class A(MPTTModel):
parent = TreeForeignKey('self')
此类自动具有“儿童”管理器,因此我可以轻松获取子树
还有另一个模型,它有 FK 链接到 A:
class SomeModel(models.Model):
link_to_a = models.ForeignKey(A)
我知道,如果我想获得 A 实例的 SomeModel 集,我可以这样做:
a = A.objects.filter(blah)
a.somemodel_set.all()
问题是:在A模型下的某些查询集中获取每个实例的somemodel_set的最pythonic方法是什么,即我想要4个示例:
some_A_instance.children.all().get_all_somemodel_instances()
并且 get_all_somemodel_instances() 应该检索每个孩子的压缩查询集