Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django queryset: filter DateTimeField if datetime.now() is greater than field - 24 hours

I can't understand how do this.

I have an Event model with a start_datetime field. I want to select all events where datetime.now() >= start_datetime - 24 hours.
I try with filter() but I can't understand how to tell 'start_datetime - 24h'.
Can you help me please?

like image 632
user1518217 Avatar asked Sep 06 '25 21:09

user1518217


1 Answers

If you rearrange

datetime.now() >= start_datetime - 24 hours

you get

start_datetime <= datetime.now() + 1 day

So your queryset should be:

from datetime import datetime, timedelta

Event.objects.filter(start_datetime__lte=datetime.now() + timedelta(days=1))
like image 71
Alasdair Avatar answered Sep 08 '25 11:09

Alasdair