我已經創建了一個CustomUser來將新字段添加到現有的User類。我只想將用戶設置設置爲我的CustomUser的組和權限控制,因此我可以使用默認的UserAdmin視圖。如何將繼承默認組和權限設置設置爲CustomUser?
如何繼承默認組和權限(我必須添加到我的CustomUser類中?)?
我已經創建了一個CustomUser來將新字段添加到現有的User類。我只想將用戶設置設置爲我的CustomUser的組和權限控制,因此我可以使用默認的UserAdmin視圖。如何將繼承默認組和權限設置設置爲CustomUser?
如何繼承默認組和權限(我必須添加到我的CustomUser類中?)?
您可以使用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
對象來爲默認組定義新用戶。
那麼你如何設置權限和組默認?我假設必須有一個默認值。 –
@HC我用一個完整的新解決方案和具體的例子來更新我的答案來實現它。 –
您希望爲用戶創建時的組和權限設置默認值,對嗎? –
正確!那就對了。 –