2016-11-17 73 views
0

我在django中使用post_save信号创建了两个组。我的默认组名是:'会员'和'经理'。现在我尝试向默认的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

如何添加我的所有权限? –