Ответ 1
from google.appengine.api.datastore import Key
query.filter("__key__ >=", Key.from_path('User', 'abc'))
В 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__ >=", ?????)
from google.appengine.api.datastore import Key
query.filter("__key__ >=", Key.from_path('User', 'abc'))
Для меня аналогичный способ работал, в то время как функция "from_path" в моем случае не работала, это делало:
from google.appengine.api.datastore import Key
key = Key(your_string_with_key)
query.filter("__key__ = ", key)