@Teslaman

Как вывести 5 последних записей, отсортированных по просмотрам?

Привет, друзья. Есть модель:

class Article(models.Model):
    ...
    is_published    =   models.BooleanField("Опубликовать?", default=True,)
    pub_date        =   models.DateTimeField("Дата обновления", auto_now_add=True, blank=True, null=True)
    views           =   models.PositiveIntegerField("Просмотры", default=0)

Мне нужно вывести на главную страницу последние 5 опубликованных записей, отсортированных по количеству просмотров.

Я делал так:
# Первый вариант:
article_list = Article.objects.filter(is_published=True).order_by("-pub_date", "-views",)[:5]

# Второй вариант:
article_list = Article.objects.filter(is_published=True).order_by("-views", "-pub_date",)[:5]


Оба эти варианта делают не то, что мне нужно. В первом случае на порядок отображение списка просмотры практически не влияют. Во втором - список сортируется по просмотрам, но появляются записи из всей базы, а не только последние 5.

Помогите советом :)
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы