我不确定我能轻易做到这一点,但我需要为每个与我的模型相关的查询自动在字段上添加过滤器。我在我的模型中添加了一个布尔属性“active”,名为Node。
例如
Node.query()
应返回Node.active字段设置为True的每个节点,并忽略活动字段设置为false的节点,不带任何其他指令。
是否可以以任何方式或类似方式覆盖该功能?我对python和app引擎都不是很好,所以我不确定我是否能真正做到这一点。
答案 0 :(得分:2)
您应该为Node类创建一个类方法,为您执行查询,然后始终使用它。 e.g。
class Node(db.Model):
# some properties and stuff
@classmethod
def active_nodes(cls):
return cls.all().filter('active = ',True)
然后总是使用Node.active_nodes() 这是您经常使用的正式API的一部分。我广泛使用这种方法,而不是在整个地方编写相同的(通常更复杂的查询)。