#python #django
#python #django
Вопрос:
Я создал панель поиска, но она выдает запросы в порядке от старого к новому, я хочу изменить это на новый к старому. Я хочу сначала просмотреть последние совпадения для моего поиска, а затем более старые.
views.py
search_term=''
if 'search' in request.GET:
search_term_extract = request.GET['search']
search_term = Blog.objects.filter(Q(title__icontains=search_term_extract)|Q(author__username__icontains=search_term_extract))
paginator = Paginator(search_term, 8)
page = request.GET.get('page')
paginator_page = paginator.get_page(page)
results=search_term.all()['-date_posted']
message=True
nav=False
и models.py
class Blog(models.Model):
title=models.CharField(max_length=100)
content=models.TextField(blank=True)
date_posted=models.DateTimeField(default=timezone.now)
author=models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
Комментарии:
1. используйте order_by(«-date_posted») . для получения дополнительной информации: docs.djangoproject.com/en/2.1/ref/models/querysets/#order-by
Ответ №1:
Используйте .order_by() в вашем наборе запросов:
search_term = Blog.objects.filter(Q(title__icontains=search_term_extract)|
Q(author__username__icontains=search_term_extract)).order_by("-date_posted")