2011-12-20 59 views
0

我在模型中有一个属性(isFull),该模型的值取决于同一模型中的其他属性(counter)。在GAE的数据存储中使用类似SQL的函数

到目前为止,只要有任何属性取决于变化,我就一直在设置属性的值。我写了一个函数isFull(),检查counter并返回TrueFalse。但我不能,除非我取那么一切都在检查结果迭代,如果其中任何isFull,这是不好的,我知道..

有没有用我用filtergql功能的方式与查询使用它呢?还是有不同的方式呢?我知道我可以使用过滤器来检查计数器,但它比在某些情况下更复杂,我需要同时检查日期,计数器和另一个标记。

+0

我想过在模型类中保存查询,并在该级别上做各种脏查询,有没有更好的方法? – 2011-12-20 22:32:52

回答

4

使用ComputedProperty线的东西到你的计算值存储在数据存储中的属性,以使对isFull物业陈旧,需要你可以过滤。

+1

优秀。这怎么没记录? – 2011-12-21 09:32:30

+0

是啊不知道是否一样,感谢分享=) – 2011-12-21 15:11:34

0

我不知道如何在另一个变化时自动重新计算属性。尽管可以通过创建自定义属性来隐藏某些更新,但在更新它所依赖的属性时仍需手动进行更新。

你可能不是想通过链接过滤,沿

query.filter('counter >', 42) 
query.filter('created <', datetime(2011,12,21)) 
query.filter('created >', datetime(2011,12,19)) 
query.filter('myflag =', true)