Сообщения, которые не нравятся пользователю

Я создаю приложение для блога и пытаюсь показать posts, которые не нравятся request.user,

from django.db.models import Exists

checkIt = BlogPost.objects.annotate(is_liked=Exists(
                Like.objects.filter(user=request.user)))

Но он показывает все посты.

models.py

class BlogPost(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    title = models.CharField(max_length=30)

class Like(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    blog = models.ForeignKey(BlogPost, on_delete=models.CASCADE)

views.py

def unliked_posts(request):

    posts = BlogPost.objects.filter(like__user=request.user).exclude(like__user=request.user)

    context = {'posts':posts}
    return render(request, 'unliked_posts.html', context)

Я пробовал много раз, но у меня ничего не получилось.

Я буду очень признателен за вашу помощь. Спасибо

Вы можете работать с простой exclude(…) [Django-doc]:

posts = BlogPost.objects.exclude(like__user=request.user)
Вернуться на верх