Django query datetime for objects older than 5 hours
now = datetime.datetime.now()
earlier = now - datetime.timedelta(hours=5)
MyModel.objects.filter(my_date_field__range=(earlier,now))
That should do the trick.
If Widget
is the name of your model, and it has a DateTimeField attribute named created
, the query would be:
from datetime import datetime, timedelta
time_threshold = datetime.now() - timedelta(hours=5)
results = Widget.objects.filter(created__lt=time_threshold)
Note that created__lt
means "created is less than".