AppEngine - 按键不等式搜索ndb

时间:2018-01-24 21:27:41

标签: google-app-engine app-engine-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是普通的字符串属性,则可以使用,但keyModelKey

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

当我尝试按__key__ >db方式)进行过滤时,我得到Cannot filter a non-Node argument

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

1 个答案:

答案 0 :(得分:0)

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