不索引Expando的动态属性
2010 2 27 06:14 PM 1523次查看
分类:Google App Engine 标签:Google App Engine, Python
对我的应用而言,大多数的静态属性是需要索引的,而动态属性则不需要,这便造成了浪费。
在GAE论坛提了半天也没等到好的解决办法,于是自己翻了下源码,发现Model类有个_unindexed_properties私有属性,这里面便是不需要索引的属性名了。
于是这样便可让动态属性不索引:
class A(db.Expando):
pass
A._unindexed_properties = frozenset(['prop'])
a = A()
a.prop = 1
a.put()
不过由于用到了私有属性,不是很安全,有可能在以后的版本里会出错。
向下滚动可载入更多评论,或者点这里禁止自动加载。