вид
import datetime
from .models import AccountTransaction
date = datetime.datetime.today()
def account_transactions_week_view(request):
account_transactions = AccountTransaction.objects.filter(user_id = request.user.id).filter(datetime__range=[date - datetime.timedelta(days=7), date])
модель
class AccountTransaction(models.Model):
user = models.ForeignKey(User, verbose_name=_('user'))
datetime = models.DateTimeField(_('created at'), auto_now_add=True)
Я вывожу на страницу список последних записей за прошедшую неделю. Для этого я использую фильтр.
Мне было интересно, почему этот вариант не работает правильно (через некоторое время появляются новые записи):
filter(datetime__range=[date - datetime.timedelta(days=7), date])
Но этот вариант работает правильно:
filter(datetime__gt=date - datetime.timedelta(days=7))
Интересно, а что не так с первым?
Есть промежуточное ПО
class TimezoneMiddleware(object):
def process_request(self, request):
tzname = request.session.get('django_timezone')
if not tzname:
request.session['django_timezone'] = 'Europe/Kiev'
tzname = 'Europe/Kiev'
timezone.activate(pytz.timezone(tzname))
Настройка
TIME_ZONE = 'UTC'