Domanda

C'è un modo per convertire l'oggetto GqlQuery a una serie di chiavi, o c'è un modo per forzare la query per restituire una matrice di chiavi Ad esempio:?

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

restituisce un oggetto contenente le chiavi:

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

Ho bisogno di confrontarlo con una serie di chiavi che assomigliano:

[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: posso aggirare il problema eseguendo una query per gli oggetti memorizzati, e quindi chiamando .key (), ma questo sembra uno spreco

.
items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
  keyArray.append(item.key())
È stato utile?

Soluzione

Certo - è possibile recuperare i risultati chiamando .fetch (contare) sull'oggetto GqlQuery. Questo è il metodo consigliato, infatti -. Iterazione recupera i risultati in lotti, e così è meno efficiente

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top