Чтобы проверить, находится ли дата в пределах 7 дней, в Django

class Order(models.Model):
     date_ordered = models.DateTimeField(auto_now_add = True)

У меня есть поле date_ordered внутри модели заказа. И теперь я хочу проверить, находится ли дата_заказа и сегодняшняя дата в пределах 7 дней или нет внутри views.py .

Для сегодняшней даты я использовал : current_day = datetime.datetime.now() (если мне нужно использовать другое, пожалуйста, подскажите)

Может ли кто-нибудь помочь мне.

Вы можете сделать следующее:

from datetime import date, timedelta


current_date = date.today()
future_date = current_date + timedelta(days=7)

orders = Order.objects.filter(
    date_ordered__range=(current_date, future_date),
)  

Предупреждение: Фильтрация поля DateTimeField с датами не будет включать элементы за последний день, потому что границы интерпретируются как "0 утра в указанную дату".

Я столкнулся с некоторой проблемой. У меня есть следующее в views.py

orders_completed = Order.objects.filter(customer=customer, complete=True) 
orders= []  
for i in orders_completed :      
ordered_date = i.date_ordered       
valid_date = ordered_date + timedelta(days=5)         
if Order.objects.filter(id=i.id , date_ordered__range=(ordered_date 
,valid_date)):
     orders.append(i)

и заказ был размещен в сентябре 18, но сегодня уже 25 сентября, а мой заказ все еще отображается во фронтенде. Не могли бы вы, пожалуйста, помочь мне в этом

Вернуться на верх