[Django]-Django date filter gte and lte

35👍

Could it be posible that as your passing the raw string to the queryset is not on the correct format, try converting the strings to datetime objects.

Later you can try using the range lookup is more efficient on some DB engines and more simple to read and code.

from django.db.models import Q

start_date = datetime.date(2005, 1, 1)
end_date = datetime.date(2005, 3, 31)
orders = Order.objects.filter(drop_off__gte=start_date, pick_up__lte=end_date)
# Or maybe better
orders = Order.objects.filter(Q(drop_off__gte=start_date), Q(pick_up__lte=end_date))

2👍

Can you try this :

order = Order.objects.filter(pick_up**__date__**lte=pickup).filter(drop_off**__date__**gte=dropoff)

https://docs.djangoproject.com/fr/2.0/ref/models/querysets/#date

Leave a comment