如何根据键不等式搜索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 的文档肯定表明这应该是可能的。
为了回答我自己的问题,其中的given
和end
需要ndb.Key
实例,而我只尝试了ModelKey
、KeyProperty
和字符串。