Невозможно проверить, находится ли пользователь в определенном наборе запросов в шаблоне
Я работаю над приложением, похожим на twitter. У меня есть страницы с подробным твитом и его предками и потомками, и в шаблоне я хочу проверить, нравится ли текущему пользователю твиты, которые отображаются на странице. Моя модель твита такова:
class Tweet(MPTTModel):
text = models.CharField(max_length=140, db_index=True)
pub_date = models.DateTimeField(auto_now_add=True)
likes = models.ManyToManyField(User, blank=True, related_name='liked_tweets')
retweets = models.ManyToManyField(User, blank=True, related_name='retweeted_tweets')
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='tweets')
parent = TreeForeignKey('self', null=True, blank=True, on_delete=models.CASCADE, related_name='children')
В шаблоне я использую условие if:
{% if user in tweet.likes.all %}
# do smth here
{% else %}
# do smth else
{% endif %}
Хотя у меня есть доступ к инстансу пользователя в шаблоне с {{ user }}, условие if всегда возвращает false, даже если пользователь в наборе запросов.