2012-12-02 48 views
1

令我惊讶的是,在GAE中具有None值的索引属性仍然计入写入成本,并且仍然编入索引。显然,这是可以预期的行为在某些情况下,根据这个帖子:谷歌应用引擎索引财产与无价值

https://groups.google.com/forum/#!msg/google-appengine/pRHA85s3U-o/frdJeab8RVwJ

此外,根据该职位是一些所谓的“局部索引”,但是这是为Java。我正在使用NDB和Python。我想索引的属性与None值不被编入索引,并不计入写入成本。这可能吗?

回答

1

这是不可能的,除非你使用Expando。您也可以使用重复的属性(0或1项)来破解它,但这会改变应用程序看到它的方式。

+0

我喜欢Expando,但它是非常有限的,因为它是全部或全部 - 无论是每个属性索引或没有财产索引。是否无法挑选哪些属性与Expando建立索引?我从来不明白为什么这是不可能的。 – Snowman

+0

阅读ndb源代码。您应该能够手动创建索引为的临时GenericProperty。 –