2017-10-19 29 views
0

イムは、現在は私の現在の試みは、以下のエラーを返しDjango - ビューで現在のユーザー権限を取得しますか?

ユーザー権限でログオン取得しようとして

from django.contrib.auth.models import Permission 
    from django.contrib.auth.models import User 
    permissions = Permission.objects.filter(user=User.id) 

エラー

のint()の引数の文字列を、でなければならないバイトのようなオブジェクトまたは番号ではなく、「DeferredAttribute」

私はこれをどのように行うことができますか?そこには簡単な方法がありますか?

おかげ

答えて

3

Userは、ユーザーモデルですので、あなたは、エラーが発生します。ログインしたユーザーにアクセスするには、request.userを使用する必要があります。

def my_view(request): 
    # Individual permissions 
    permissions = Permission.objects.filter(user=request.user) 

    # Permissions that the user has via a group 
    group_permissions = Permission.objects.filter(group__user=request.user) 

あなたはおそらく、ユーザーが(例えばlogin_requiredを使用)にログインしていることを確認する必要があります。

注:ユーザーは、グループ内にあるか、スーパーユーザー(すべてのアクセス許可を持つことと同等)であるため、アクセス許可を持つ可能性があります。