Pregunta

¿Hay una manera de convertir el objeto GqlQuery a una matriz de claves, o hay una manera de forzar la consulta para devolver una matriz de teclas Por ejemplo:?

items = db.GqlQuery("SELECT __key__ FROM Items")

Devuelve un objeto que contiene las claves:

<google.appengine.ext.db.GqlQuery object at 0x0415E210>

tengo que compararlo con una serie de teclas que se parecen a:

[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: puedo evitar el problema mediante la consulta de los objetos almacenados, y luego llamar a .key (), pero esto parece un desperdicio

.
items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
  keyArray.append(item.key())
¿Fue útil?

Solución

Desde luego - se puede recuperar los resultados llamando .fetch (cuenta) en el objeto GqlQuery. Esta es la forma recomendada, de hecho -. Iteración obtiene resultados en lotes, y también lo es menos eficiente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top