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