Задать вопрос
Местоположение
Россия, Иркутская обл., Иркутск

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (3)
  • Как посчитать количество комментариев под постом с помощью annotate()?

    Seletach
    @Seletach Автор вопроса
    Начинающий бекендер
    Вот решение этой задачи:
    class PostListView(ListView):
    '''Список постов'''
        model = Post
        template_name = 'blog/index.html'
        ordering = 'pub_date'
        paginate_by = 10
    
        def get_queryset(self):
            return super().get_queryset().filter(
                category__is_published=True,
                is_published=True,
                pub_date__lte = timezone.now()
                ).annotate(comment_count=Count("comments"))

    С помощью get_queryset достаём из модели Post все посты, далее фильтруем посты (посты и их категория должны быть опубликованы) и добавляем аннотацию, которая считает комментарии в этих постах.
    Ответ написан
    Комментировать