GQL Richiesta BadArgument errore. Come andare in giro con il mio caso?
-
20-09-2019 - |
Domanda
La mia domanda è sostanzialmente il seguente:
entries=Entry.all().order("-votes").order("-date").filter("votes >", VOTE_FILTER).fetch(PAGE_SIZE+1, page* PAGE_SIZE)
Voglio afferrare N delle ultime voci che hanno un punteggio di voto sopra un po 'di riferimento (VOTE_FILTER). Google attualmente dice che non riesco a filtrare su 'voti', perché ordino da 'data.' Non vedo un modo che io possa fare questo il modo in cui voglio, quindi mi farebbe piacere qualche consiglio.
Soluzione
Assumendo che il 'filtro voto' è una soglia fissa, è necessario aggiungere una proprietà al modello che registra se si tratta di sopra di tale soglia o meno, consentendo di fare un semplice test di uguaglianza per determinare quali record devono essere inclusi.
Altri suggerimenti
Sì, ci sono Restrizioni query non come questo è GQL SQL. Sembra che avrete bisogno di utilizzare un query del cursore e rifiutare le voci sul votes <= VOTEFILTER
nel codice.
La semantica di Bigtable sono certamente diverso da un RDBM e sto ancora cercando di avvolgere la mia testa intorno a loro, anche.