我有以下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的所有对象。现在,如何在模型active=True
的{{1}}子句中包含archived=False
和select_related
的过滤器。
答案 0 :(得分:15)
与使用__
查找的任何其他相关字段相同。
A.objects.select_related(B).filter(active=True, tmp__active=True, tmp__archived=False)
使用select related不会改变任何内容,其目的是关于结果返回什么信息,它根本不会影响过滤。