NDB查询以字符串开头的结果

adi*_*adi 3 python google-app-engine app-engine-ndb google-cloud-datastore

使用Google App Engine的NDB,我希望查询以用户输入的字符串开头的所有项目.例:

abc_123
abcdefg
123abc
Run Code Online (Sandbox Code Playgroud)

查询"abc"应返回abc_123,abcdefg(但不是123abc,因为它不以"abc"开头)

我以前使用下面的代码来实现类似但不同的目的:

q = q.filter(order._properties[kw].IN(values_list))
Run Code Online (Sandbox Code Playgroud)

对于k_中的values_list中的所有值进行过滤,我现在希望过滤以kw为单位的字符串开头的所有值.

dra*_*onx 5

尝试:

Kind.query(ndb.AND(Kind.property >= "abc", Kind.property <= "abcz"))
Run Code Online (Sandbox Code Playgroud)

  • 需要这样的东西,使用 z 并不能保证获得所有前缀 Kind.query(ndb.AND(Kind.property &gt;= prefix, Kind.property &lt;= prefix + u'\ufffd')) (2认同)