应用引擎 - 按键不等式搜索 ndb



如何根据键不等式搜索ndb模型?

例如,对于字符串,可以使用:

 def add_inequality_filter(query, attr, given)
     end = given + u'ufffd'
     return query.filter(attr >= given, attr < end)
 add_inequality_filter(query, "key", "abc.")

如果key是一个普通的字符串属性,这将起作用,但是key是一个模型键。

key(或_key(与字符串进行比较会触发BadValueError。似乎没有记录在案的方法来创建用于比较的ModelKey(或等效项(。

当我尝试过滤__key__ >(db方式(时,我得到了一个Cannot filter a non-Node argument.

db 到 ndb 的文档肯定表明这应该是可能的。

为了回答我自己的问题,其中的givenend需要ndb.Key实例,而我只尝试了ModelKeyKeyProperty和字符串。

最新更新