Не могу найти решение или ошибку в состоянии jinja

При реализации функции счетчика лайков я столкнулся с тем, что не работает условие отображения разного текста в зависимости от того, есть ли номер "id" пользователя в списке тех, кому уже понравилось это сообщение.

Хотя номер пользователя присутствует в списке пользователей, которым понравилась эта запись, я получаю ответ "not work" красного цвета, из чего можно сделать вывод, что условие {% if user.id in post.likes_list_id %} не работает. Я нашел несколько похожих реализаций, везде это делается похожим образом, но в моем исполнении это не работает

Пожалуйста, помогите найти решение или ошибку

HTML(фрагмент):

{% for posts in current_page.object_list %}
        {% if user.is_authenticated %}
            <div class="line" style="display: flex; flex-direction: row; align-items: baseline">
                {% if user.id in post.likes_list_id %}
                <div>
                    <div style="color: green;"> it works </div>
                </div>
                {% else %}
                <div>
                    <div style="color: red;"> not work </div>
                </div>
                {% endif %}
            </div>
            <div style="padding-left: 10px; color: orange;"> {{user.id}} {{post.likes_list_id}} {{post.likes_list_id.all}} </div>
        {% endif %}
{% endfor %}

views.py:

def index(request):
    new_post = New_post_form()
    db_posts = Post.objects.all()

    # just for testing
    testing = Post.objects.get(id=2)
    foo = testing.likes_list_id()
    print(foo)

    posts_division = Paginator(db_posts, 10)
    requested_page = int(request.GET.get("requested_page", 1))
    current_page = posts_division.page(requested_page)
    return render(request, "network/index.html", {
        "new_post": new_post,
        "current_page": current_page,
        })

model.py:

class User(AbstractUser):
    pass


class Post(models.Model):
    user_name = models.ForeignKey(User, on_delete=models.CASCADE)
    content = models.TextField()
    timestamp = models.DateTimeField(auto_now_add=True)
    likes = models.ManyToManyField(User, related_name="likes", blank=True)

    def likes_count(self):
        return self.likes.count()

    def likes_list_id(self):
        return self.likes.values_list('id', flat=True)

    class Meta:
        ordering = ["-timestamp"]

    def __str__(self):
        return f"{self.pk} - {self.user_name}"

В браузере я получаю следующий результат: [1]: https://i.stack.imgur.com/d9Jik.jpg

Вернуться на верх