1

请注意以下 Django 模型:


ParentModel(models.Model):
    ...

ChildModel(models.Model):
    parent = models.ForeignKey(ParentModel, related_name='children')

假设数据库中所有子项的某个子集可用作查询集(称为第一集)。
现在,我想访问与第一组中的孩子相关的所有父母的子集(称为第二组)。

如何在不遍历 python 级别的第一组(并可能导致线性数量的 DB 命中)的情况下做到这一点,即只有一个或两个 DB 命中?

谢谢!

4

1 回答 1

4

假设您有一个名为的查询集children

ParentModel.objects.filter(children__in=children)
于 2009-10-20T09:17:49.867 回答