Как использовать фильтр для 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'))