2013-03-12 45 views
3

这似乎是一个简单的问题,但我在class definition中看不到任何内容。如何在NDB/DB查询中忽略大小写

如果我有查询

Video.query(Video.tags.IN(topics))

topics来了作为小写Unicode字符串,但Video.tags大多是资本。我可以循环使用topics,并在查询它们之前利用它们,但是有没有办法忽略大小写?

回答

12

无法在查询中忽略大小写。

通常,如果您知道要执行不区分大小写的搜索,则可以以小写形式存储数据的“非规格化”副本。每当你想查询时,你都会在查询之前小写文本。

要降低写入成本,您可能只想索引较小的版本,并且您可能不需要索引实际的区分大小写的数据。

+4

您可以通过添加计算属性来自动执行非规范化。请参阅https://cloud.google.com/appengine/docs/python/ndb/properties#computed – 2014-10-05 03:58:16