2016-11-17 2 views
0

djangoでpost_saveシグナルを使用して2つのグループを作成しました。私のデフォルトのグループ名は: 'members'と 'managers'です。今、デフォルトの権限をデフォルトのgropu 'members'に追加しようとしています。これまでのところ私がやった:post_saveシグナルを使用してdjangoのデフォルトグループに権限を追加する

@receiver(post_save, sender=settings.AUTH_USER_MODEL) 
def add_to_default_permission(sender, **kwargs): 
    members = kwargs["instance"] 
    if kwargs["created"]: 
     permission1 = Permission.objects.get(name='Can add person') 
     permission2 = Permission.objects.get(name='Can change person') 
     permission3 = Permission.objects.get(name='Can add child') 
     permission4 = Permission.objects.get(name='Can change child') 
     permission5 = Permission.objects.get(name='Can delete child') 
     members.permissions.add(permission1, permission2,permission3,permission4,permission5) 

しかし、私はスーパーユーザを作成しようとしたとき、それはエラーを与える:

in add_to_default_permission 
     members.permissions.add(permission1, permission2,permission3,permission4,permission5) 
    AttributeError: 'User' object has no attribute 'permissions' 

どのように私はこのエラーを修正することができます。アドバイスをいただければ幸いです。

答えて

0

私はグループのメンバーがいない任意の特定のユーザーに権限を追加したい

members, created = Group.objects.get_or_create(name='members) 
members.permission.add(your permissions) 
+0

を試してみてください。このグループに属するユーザーは、自動的に既定のアクセス許可を継承します。 –

+0

ちょっと今これをチェックしてください –

+0

どうすれば私のすべての権限を追加できますか? –

関連する問題