如何编码查询集,以便用户只能在个人资料部分中看到他们自己的帖子

时间:2018-07-12 18:48:52

标签: python django python-3.x django-2.0

我正在使用Django 2.06开发一个项目。我有多个用户,他们可以发帖,其他人可以阅读他们的帖子,这很正常。在用户个人资料页面,用户应该看到自己的帖子。 这就是我遇到的问题,如何编码查询集,然后在个人资料部分,用户只能看到他们自己的帖子。

代码演示

class ProfileView(ListView):

    template_name = "profile.html"
    queryset = QuickWord.objects.filter()
    context_object_name = 'quickword'


    def get_context_data(self, **Kwargs):
        context = super(ProfileView, self).get_context_data(**Kwargs)
        context['addproduct'] = AddProduct.objects.filter()
        context['article_view'] = Article.objects.filter()
        context['edit'] = Profile.objects.all().last()
        return context

我知道我必须使用过滤器值,但不知道该怎么做。

谢谢

1 个答案:

答案 0 :(得分:0)

假设您的author模型中有一个Post字段,则应在views.py中做类似的事情

def profile(request):
    user_posts = Post.objects.filter(author=request.user)

    return render(request, 'path/to/profile.html', {'posts': user_posts})

当然,以上视图要求用户登录。