2017-03-17 17 views
1

Views.pyDjango - クエリーセットで現在のオブジェクトを取得するには?

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

!ありがとう!

関連する問題