2015-11-14 41 views
1

我已經創建了一個CustomUser來將新字段添加到現有的User類。我只想將用戶設置設置爲我的CustomUser的組和權限控制,因此我可以使用默認的UserAdmin視圖。如何將繼承默認組和權限設置設置爲CustomUser?

如何繼承默認組和權限(我必須添加到我的CustomUser類中?)?

+0

您希望爲用戶創建時的組和權限設置默認值,對嗎? –

+0

正確!那就對了。 –

回答

1

您可以使用post_signal信號來配置默認的用戶權限。使用Permission對象的name屬性來獲取它們。

下面是一個例子:

@receiver(post_save, sender=CustomUser) 
def define_default_user_permissions(sender, instance, **kwargs): 
    # retrieve needed permissions 
    # E.g : permission to add a token 
    permission = Permission.objects.get(name='Can add token') 
    # add this permission to the user 
    instance.user_permissions.add(permission) 

<app_name>.models的末尾添加此方法。瞭解更多關於signals

如果你想顯示的所有權限,與python manage.py shell打開你的Python殼做到這一點:

# import Permission object 
from django.contrib.auth.models import Permission 
# display all permissions 
Permission.objects.all() 

瞭解更多關於Models Meta - permissions知道如何爲你的模型創建權限

您可以使用Group對象來爲默認組定義新用戶。

+0

那麼你如何設置權限和組默認?我假設必須有一個默認值。 –

+0

@HC我用一個完整的新解決方案和具體的例子來更新我的答案來實現它。 –