Come posso Query __key__ solo su un bambino di Google AppEngine PolyModel?
-
27-09-2019 - |
Domanda
Quindi, la situazione è: Voglio ottimizzare il mio codice di un po 'per fare il conteggio dei record. Così ho un genitore modello Classe base, una classe PolyModel voce, e una classe figlia di ingresso Articolo: Come dovrei interrogazione articolo chiave in modo da poter ridurre il carico di query, ma solo ottenere il conteggio articolo..
Il mio primo pensiero è stato quello di utilizzare:
q = db.GqlQuery("SELECT __key__ from Article where base = :1", i_base)
ma si scopre GqlQuery non piace perché gli articoli sono in realtà memorizzati in una tabella chiamata voce.
sarebbe possibile interrogare l'attributo class? qualcosa di simile:
q = db.GqlQuery("select __key__ from Entry where base = :1 and :2 in class", i_base, 'Article')
nessuno dei quali lavoro. Si scopre che la risposta è ancora più facile. Ma ho intenzione di finire questa domanda, perché ho cercato dappertutto per questo.
q = db.GqlQuery("select __key__ from Entry where base = :1 and class = :2", i_base, 'Article')
Soluzione
l'ultimo elemento è la risposta, class = nome_classe funziona anche se è tecnicamente una lista. Ha lavorato come un fascino. Ho colpito un errore di unico durante il controllo questo fuori, quando si fa fondamentali le ricerche non è possibile utilizzare IN e! =.