Python上Google App Engine中的实体键名过滤

2024-04-25 09:13:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在Google App Engine上,使用Python查询数据存储,可以使用GQL或Entity.all()然后对其进行过滤。例如,它们是等价的

gql = "SELECT * FROM User WHERE age >= 18"
db.GqlQuery(gql)

以及

query = User.all()
query.filter("age >=", 18)

现在,也可以按键名查询。我知道在GQL中你是这样做的

gql = "SELECT * FROM User WHERE __key__ >= Key('User', 'abc')"
db.GqlQuery(gql)

但是你现在如何使用过滤器来做同样的事情呢?

query = User.all()
query.filter("__key__ >=", ?????)

Tags: keyfromappdbagegoogleallfilter
2条回答

对我来说,类似的方法也起作用了,而“from_path”函数在我的情况下不起作用,这个函数起作用了:

from google.appengine.api.datastore import Key

key = Key(your_string_with_key)
query.filter("__key__ = ", key)
from google.appengine.api.datastore import Key
query.filter("__key__ >=", Key.from_path('User', 'abc'))

相关问题 更多 >