Я использую простую форму для фильтрации сообщений на основе вчерашнего дня, прошлой недели, прошлого месяца и прошлого года.
И это посмотреть, как я хотел, чтобы это было обработано:
def search(request):
queryset = Listing.objects.all().order_by('listing_date')
# filter by date added
list_date = request.GET.get('list_date')
today = timezone.now()
if list_date:
if list_date == 'yesterday':
yesterday = today - timedelta(days=1)
print(yesterday, 'yesterday')
queryset = queryset.filter(listing_date__lt=yesterday)
print(queryset)
elif list_date == 'lastweek':
lastweek = today - timedelta(weeks=1)
queryset = queryset.filter(listing_date__lt=lastweek)
elif list_date == 'lastmonth':
lastmonth = today - timedelta(days=30)
queryset = queryset.filter(listing_date__lt=lastmonth)
elif list_date == 'lastyear':
lastyear = today - timedelta(days=365)
queryset = queryset.filter(listing_date__lt=lastyear)
context = {
'listings': queryset,
}
return render(request, 'listing/listings.html', context)
и в модели: listing_date = models.DateTimeField(auto_now_add=True)
. Я напечатал вчера и набор запросов выше, и он возвращает это в консоли:
2020-05-26 03:54:45.107533+00:00 yesterday
<QuerySet []>
Я отфильтровал сообщения за вчерашний день, но почему набор запросов пуст, хотя я уверен, что сообщения были созданы вчера?