Filter by weekend in a certain range of hours. Django

0

I am trying to make a query that I return the number of orders that your delivery date is during the weekend between 7 am - 11 am and I have been trying this way:

Order.objects.filter(delivery__range=[breakfast_start_date, datetime.now()],
state__in=order_states, delivery__week_day__gte=6,
delivery__time__between=( datetime.time(datetime.strptime('07:00:00', '%H:%M:%S')),
datetime.time(datetime.strptime('11:00:00', '%H:%M:%S'))))

but I get the following error:

FieldError: Unsupported lookup 'between' for TimeField or join on the field not permitted.

I would greatly appreciate your help to resolve this.

And in my model the field is declared as follows:

delivery = models.DateTimeField(db_index=True, null=True, blank=True)

I am using version 1.11.5 of Django

    
asked by Efren Narvaez 13.03.2018 в 23:07
source

1 answer

1

Well, although the documentation states that you should use __between

I did it with __range and it worked for me in the following way:

delivery__time__range=(time(7, 0, 0), time(11, 0, 0))

In this way I was able to solve my problem.

    
answered by 14.03.2018 / 16:47
source