如何忽略NDB/DB查询中的大小写

meh*_*kar 3 google-app-engine app-engine-ndb

这似乎是一个简单的问题,但我在类定义中没有看到任何内容.

如果我有查询

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

topics以小写的unicode字符串形式出现,但Video.tags大多数都是大写的.topics在查询之前我可以循环并将其大写,但有没有办法完全忽略大小写?

dra*_*onx 12

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

通常,如果您知道要进行不区分大小写的搜索,则可以以小写形式存储数据的"非规范化"副本.无论何时想要查询,都可以在查询之前小写文本.

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

  • 您可以通过添加计算属性来自动化非规范化.请参阅https://cloud.google.com/appengine/docs/python/ndb/properties#computed (4认同)