GqlQuery vuelve objeto, lista de claves quieren
-
20-09-2019 - |
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())
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