Не могу обратиться к полю в модели в шаблоне Django?
Мне нужно проверять если юзер есть в списке тех, кто добавил викторину в закладки, то отобразить одно, иначе - другое. Вот модель закладки:
class Bookmark(models.Model):
"""Bookmar for a quiz"""
quiz = models.ForeignKey(
Quiz,
on_delete=models.PROTECT,
verbose_name='Викторина',
related_name='bookmarks'
)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
verbose_name='Пользователь',
related_name='bookmarks'
)
У меня есть такой шаблон и созрел вопрос как проверять юзера на наличие закладки к этой викторине
<span class="quiz__bookmarks ml-3">
{% if user in quiz.get_bookmarks_users %}
<i class="fas fa-star bookmarked-star"></i>
{% else %}
<i class="far fa-star"></i>
{% endif %}
{{ quiz.get_bookmarks_count }}
</span>
Следовательно попытался сделать в модели метод для получения всех юзеров, добавивших в закладки эту викторину
def get_bookmarks_users(self):
return self.bookmarks.all().user
Дело в том, что мне не нужно выводить все закладки. Мне просто нужно на записи поставить звезду, если пользователь добавил эту запись в закладки то звезда горит, иначе нет. Как это сделать?
Делал через цикл в views, клал всех юзеров из всех закладок на этой записи в массив и там проверял if user in array звезда горит, иначе нет, но мне кажется такой вариант медленный и неэффективный