GQLQUERY Retorna objeto, deseja uma lista de chaves
-
20-09-2019 - |
Pergunta
Existe uma maneira de converter o objeto GQLQuery em uma variedade de chaves ou existe uma maneira de forçar a consulta a devolver uma variedade de chaves? Por exemplo:
items = db.GqlQuery("SELECT __key__ FROM Items")
Retorna um objeto que contém as chaves:
<google.appengine.ext.db.GqlQuery object at 0x0415E210>
Eu preciso compará -lo com uma variedade de chaves que parecem:
[datastore_types.Key.from_path(u'Item', 100L, _app_id_namespace=u'items'),
..., datastore_types.Key.from_path(u'Item', 105L, _app_id_namespace=u'fitems')]
Nota: Eu posso contornar o problema consultando os objetos armazenados e depois chamando .Key (), mas isso parece desperdiçado.
items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
keyArray.append(item.key())
Solução
Certamente - você pode buscar os resultados chamando .Fetch (contagem) no objeto GQLQLQUERY. De fato, essa é a maneira recomendada que as buscas que as buscas resulta em lotes e, portanto, são menos eficientes.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow