как плюрализировать с тегом шаблона - PullRequest
0 голосов
/ 09 июня 2019

Я забыл это, там был простой встроенный шаблонный тег, который я мог использовать.

{{ post.comment_set.count }}comment

если имеется более одного комментария, то он должен отображать комментарии.

{{ post.comment_set.count|"something here" }}comment

1 Ответ

1 голос
/ 09 июня 2019

Вы, вероятно, хотите использовать |pluralize [Django-doc] здесь:

{{ post.comment_set.count }}comment{{ post.comment_set.count<b>|pluralize</b> }}

При этом, пожалуйста, не пишите бизнес-логику в шаблонах, вам лучше комментировать свой posts с количеством комментариев.Это также не очень хорошо с точки зрения производительности, поскольку вы делаете дополнительный запрос для post объекта.

Вы можете аннотировать свой Post набор запросов, например:

from django.db.models import <b>Count</b>

Post.objects.annotate(
    <b>ncomment=Count('comment')</b>
)

и затем в шаблоне вы можете написать:

{{ post.<b>ncomment</b> }}comment{{ post.<b>ncomment</b>|pluralize }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...