Django select_related 过滤器

Django select_related filter

我有以下 Django 模型。

class A(models.Model):
    tmp = models.ForeignKey(B)
    active = models.BooleanField()

class B(models.Model):
    active = models.BooleanField()
    archived = models.BooleanField()

现在我有以下查询。

A.objects.select_related(B).filter(active=True)

现在这会获取 B 的所有对象。现在我如何在模型 Bselect_related 子句中包含 active=Truearchived=False 的过滤器。

与任何其他相关字段一样,使用 __ 查找..

A.objects.select_related(B).filter(active=True, tmp__active=True, tmp__archived=False)

使用select related在这里没有任何改变,它的目的是关于结果返回什么信息,它对过滤根本没有影响。