0

我不确定我是否可以轻松做到这一点,但我需要为与我的模型相关的每个查询自动在字段上添加过滤器。我在名为 Node 的模型中添加了一个布尔属性“active”。

例如

Node.query()

应该返回字段 Node.active 设置为 True 的每个节点,并忽略 active 字段设置为 false 的节点,无需任何其他指令。

是否可以以任何方式或类似的方式覆盖该功能?我对 python 和应用程序引擎都不是很擅长,所以我不确定我真的能做到这一点。

4

1 回答 1

2

您应该为您的 Node 类创建一个为您执行查询的类方法,然后始终使用它。例如

class Node(db.Model):
   # some properties and stuff

   @classmethod
   def active_nodes(cls):
       return cls.all().filter('active = ',True)

然后始终使用 Node.active_nodes() 这是您始终使用的正式 api 的一部分。我广泛使用这种方法,而不是到处编写相同的(通常更复杂的查询)。

于 2012-07-13T23:50:55.013 回答