django 自定义用户模型组和权限
Posted
技术标签:
【中文标题】django 自定义用户模型组和权限【英文标题】:django custom user model groups and permissions 【发布时间】:2016-07-31 20:44:45 【问题描述】:我正在尝试在我的 django 应用程序中实现自定义用户模型。
如果我只是从this article 复制并粘贴代码,效果会很好。但我希望这个自定义用户模型具有权限和组。所以我在 models.py 中添加了这个继承:
class MyUser(AbstractBaseUser, PermissionsMixin):
并将这些字段放入 admin.py MyUserAdmin(UserAdmin) 类:
('Permissions', 'fields': (
'is_admin', 'is_staff', 'is_active', 'groups', 'user_permissions',
)),
但这对我来说看起来很奇怪:
据我所知,它必须是两个容器:左边(我有)显示所有可用的组和权限,右边(我没有)显示所有当前用户的组和权限。
附:我用谷歌搜索它,发现只有一个在 reddit 上发布了 10 个月但没有解决方案的帖子。
【问题讨论】:
你得到答案了吗? 【参考方案1】:在 MyUserAdmin 类中删除这一行修复了问题。
filter_horizontal = ()
【讨论】:
【参考方案2】:你必须在filter_horizontal(ARGUMENT)
中设置参数,
参数是 model
中的 manyToMany
字段。
例子:
class CustomUser(PermissionsMixin, AbstractBaseUser):
custom_groups = models.ManyToManyField('CustomUserGroups', blank=True)
class CustomUserAdmin(UserAdmin):
filter_horizontal = ('custom_groups', )
【讨论】:
以上是关于django 自定义用户模型组和权限的主要内容,如果未能解决你的问题,请参考以下文章