我创建了一个CustomUser来向现有的User类添加新字段。我只想默认为我的CustomUser的组和权限控件的用户设置,所以我可以使用默认的UserAdmin视图。
如何继承默认组和权限(我必须添加到CustomUser类中?)?
答案 0 :(得分:1)
您可以使用post_signal
信号配置默认用户权限。使用name
对象的Permission
属性来获取它们。
以下是一个例子:
@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 shell并执行以下操作:
# import Permission object
from django.contrib.auth.models import Permission
# display all permissions
Permission.objects.all()
详细了解Models Meta - permissions,了解如何为模型创建权限
您可以使用Group
对象为新用户定义默认组。