在Python上的Google应用程序引擎中按实体键名称过滤

在Python上的Google应用程序引擎中按实体键名称过滤,python,google-app-engine,google-cloud-datastore,Python,Google App Engine,Google Cloud Datastore,在Google App Engine上使用Python查询数据存储,可以使用GQL或Entity.all()然后对其进行过滤。例如,它们是等价的 gql = "SELECT * FROM User WHERE age >= 18" db.GqlQuery(gql) 及 现在,还可以按键名查询内容。我知道在GQL中,您是这样做的 gql = "SELECT * FROM User WHERE __key__ >= Key('User', 'abc')" db.GqlQuery(gql

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

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

现在,还可以按键名查询内容。我知道在GQL中,您是这样做的

gql = "SELECT * FROM User WHERE __key__ >= Key('User', 'abc')"
db.GqlQuery(gql)
但您现在如何使用过滤器来实现同样的功能呢

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

对我来说,类似的方法也起作用,而“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'))
from google.appengine.api.datastore import Key

key = Key(your_string_with_key)
query.filter("__key__ = ", key)