Django - 如何在queryset中获取当前对象?

时间:2017-03-17 17:25:09

标签: python django

Views.py

class ProfileView(UserPassesTestMixin, DetailView):
    template_name = "profile/profile_view.html"
    queryset = User.objects.all()
    context_object_name = 'profile'

def test_func(self):
    x = self.request.user.full_name
    print (x)
    y = ''
    if x == y:
        raise Http404("Profile Inactive")
    else:
        return True

问题 - 如果用户的full_name为空,我想显示Profile Inactive错误,但我无法打印full_name。我不想打印登录用户的full_name,而是打印用户页面。用户的页面由slug localhost:8000/slug定义。

2 个答案:

答案 0 :(得分:1)

您可以使用self.get_object()根据查找字段获取对象。

答案 1 :(得分:0)

x = self.get_object().full_name

工作!谢谢!