2013-03-12 46 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