Pregunta

Tengo una tabla simple en Google App Engine con un campo de fecha. Quiero consultar todas las filas con el campo de fecha valorada entre ahora y hace 6 horas. ¿Cómo formo esta consulta?

¿Fue útil?

Solución

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

computar los años, meses, etc., en el código de aplicación.

Otros consejos

Sé que dices GQL, pero aquí es una función de Python ayudante de uso:

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

Muy bien puede ser una forma más concisa para escribirlo: No soy un experto en Python y fui con lo primero que se trabajó. Echar un vistazo a la documentación de fecha y hora si le interesa. Se utiliza como esto:

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

Estoy seguro de que puede ser traducido a GQL sin mucha molestia, pero yo prefiero la interfaz orientada a objetos, y no sé la sintaxis DATETIME necesario.

En Python la consulta se utiliza entonces como esto:

# 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top