Domanda

Ho una semplice tabella in Google App Engine con un campo data. Voglio interrogare tutte le righe con il campo della data valutata tra oggi e 6 ore fa. Come faccio a formo questa ricerca?

È stato utile?

Soluzione

SELECT * FROM simpletable
WHERE datefield < DATETIME(year, month, day, hour, minute, second)

calcolo coloro anno, mese, ecc, nel codice dell'applicazione.

Altri suggerimenti

Lo so che dici GQL, ma ecco una funzione di pitone aiuto io uso:

import datetime
def seconds_ago(time_s):
    return datetime.datetime.now() - datetime.timedelta(seconds=time_s)

Ci può anche essere un modo più conciso di scriverlo: Io non sono un esperto di pitone e sono andato con la prima cosa che ha funzionato. Date un'occhiata alla documentazione di data e ora se si cura. E 'usato in questo modo:

my_query = MyTable.all().filter("date >", seconds_ago(6*60*60))

Sono sicuro che può essere tradotto a GQL senza molto fastidio, ma preferisco l'interfaccia orientata agli oggetti, e non so la sintassi DATETIME necessario.

In Python query viene quindi utilizzato in questo modo:

# get a count
my_query.count()
# get up to 1000 records
my_query.fetch(1000)
# iterate over up to 1000 records
for result in my_query:
    # do something with result
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top