models.ForeignKey(Post)
...Когда юзер лайкает пост - создаётся запись в PostLike
Как мне в django template проверить лайкнул ли пользователь пост?
в шаблоне никак
если во вьюхе получаешь Post, то можешь попробовать аннатировать к нему доп поле с значением True/False только поставь related_name для удобства и чтоб точно работало class PostLike(Model) user = models.ForeignKey(User, related_name='postlike_user') post = models.ForeignKey(Post, related_name='postlike_post') post = Post.objects.annotate( is_like=Case(When(Q(postlike_post_id=F('id')) & Q(postlike_user=request.user.id), then=True), default=False, output_field=BooleanField()) ) в шаблоне доставай {{ post.is_like }}
Обсуждают сегодня