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())
Foi útil?

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
scroll top