我有一个自定义QuerySet:
class EntityModelQuerySet(models.query.QuerySet):
def active(self):
return self.filter(is_active=True)
在模型中,我发送QuerySet作为管理器:
class Entity(models.Model):
is_active = models.BooleanField(default=False)
objects = EntityModelQuerySet.as_manager()
在视图中我尝试:
Entity.objects.active.filter(is_home=True)
它给了我一个错误:
'function' object has no attribute 'filter'
为什么,如何解决?
答案 0 :(得分:2)
您需要调用active
函数来返回查询集,只需添加()
:
Entity.objects.active().filter(is_home=True)