Как использовать фильтр для Count в Django annotate()?

Я видел много постов, посвященных одному и тому же вопросу, но большинство из них были устаревшими (версии Django), и я не смог найти ничего полезного. Итак, проблема в том, что я пытался использовать фильтр для Count в аннотации Django. Ниже приведен пример, и я попробовал три варианта, которые нашел после гугления.

all_posts = Post.objects.all().annotate(
    count_comments = Count('user_comment', validated=True), #1
    count_comments = Count('user_comment').filter(validated=True), #2
    count_comments = Count('user_comment', filter=Q(validated=True)), #3
)

Как вы видите, я пытаюсь получить количество комментариев, которые подтверждены. Но, очевидно, ни один из них не работает. Каков правильный способ использования фильтра?

It helps

    all_posts = Post.objects.filter(validated = True).annotate(count_coments = Count('user_coment'))
Вернуться на верх