如何根据关键不等式搜索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
为ModelKey。
将key
(或_key
)与字符串进行比较会触发BadValueError
。
似乎没有记录的方法来创建ModelKey
(或等效物)进行比较。
当我尝试按__key__ >
(db
方式)进行过滤时,我得到Cannot filter a non-Node argument
。
db to ndb文档肯定表明这应该是可能的。
答案 0 :(得分:0)
要回答我自己的问题,这里的given
和end
需要ndb.Key
个实例,而我只尝试了ModelKey
,KeyProperty
和字符串。