2017-03-17 57 views
1

Views.pyDjango - 如何获取queryset中的当前对象?

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定义。

+0

是否有一个称为全名的属性?如果不是,你可能不得不明确查询名字和姓氏 – karthikr

+0

我使用自定义用户模型,我有一个名为'full_name'的字段。 – Rahul

+0

我不明白你在问什么,或者你的问题是如何与标题相关的。什么是当前对象?什么不相关的数据? –

回答

0

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

0

x = self.get_object().full_name

工作!谢谢!