【问题标题】:Posts which are not liked by user用户不喜欢的帖子
【发布时间】:2021-09-11 17:12:38
【问题描述】:

我正在构建一个博客应用程序,我正在尝试显示 posts 不被 request.user 喜欢的内容,

  • 我尝试使用Exists 方法作为Mentioned :-
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)

我尝试了很多次,但对我没有用。

非常感谢您的帮助。谢谢你

【问题讨论】:

    标签: python django django-models django-views


    【解决方案1】:

    您可以使用简单的exclude(…) [Django-doc]

    posts = BlogPost.objects<strong>.exclude(like__user=request.user)</strong>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-04
      • 2020-09-11
      • 2021-01-27
      • 2020-12-12
      • 2020-09-03
      • 1970-01-01
      • 2020-11-14
      • 2019-08-13
      相关资源
      最近更新 更多