Чтобы проверить, находится ли дата в пределах 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 сентября, а мой заказ все еще отображается во фронтенде. Не могли бы вы, пожалуйста, помочь мне в этом