2012-04-27 21 views

Respuesta

89

Si Widget es el nombre de su modelo, y tiene un atributo llamado DateTimeField created, la consulta sería:

from datetime import datetime, timedelta 

time_threshold = datetime.now() - timedelta(hours=5) 
results = Widget.objects.filter(created__lt=time_threshold) 

Tenga en cuenta que created__lt medios "creadas es inferior".

+0

¿Cómo conseguiríamos lo mismo si 'hours' proviniera de la columna de la tabla y no fuera un valor de hardcoded? – adkl

12
now = datetime.datetime.now() 
earlier = now - datetime.timedelta(hours=5) 
MyModel.objects.filter(my_date_field__range=(earlier,now)) 

Eso debería hacer el truco.

+4

¡Más de 5 horas de viejo, no menos de 5 horas! –

+0

@DavidRobinson ¡Ups! –

+1

Sin embargo, el alcance es útil. – radtek

Cuestiones relacionadas