6

我正在尝试在我的 django 应用程序中实现自定义用户模型。

如果我只是复制并粘贴本文中的代码,效果很好。但我希望这个自定义用户模型具有权限和组。所以我将此继承添加到models.py

class MyUser(AbstractBaseUser, PermissionsMixin):

并将这些字段放入admin.py MyUserAdmin(UserAdmin) 类中:

('Permissions', {'fields': (
    'is_admin', 'is_staff', 'is_active', 'groups', 'user_permissions',
)}),

但这对我来说看起来很奇怪:

管理员截图

据我所知,它必须是两个容器:左边(我有)显示所有可用的组和权限,右边(我没有)显示所有当前用户的组和权限。

PS我尝试了谷歌并在reddit上找到了一个10个月大但没有解决方案的帖子。

4

2 回答 2

5

在MyUserAdmin类中删除这一行可以解决问题。

filter_horizontal = ()
于 2016-04-12T17:05:19.830 回答
0

您必须在 中设置参数,该参数是您在 中filter_horizontal(ARGUMENT)的字段。manyToManymodel

例子:

class CustomUser(PermissionsMixin, AbstractBaseUser):
    custom_groups = models.ManyToManyField('CustomUserGroups', blank=True)  

class CustomUserAdmin(UserAdmin):
  filter_horizontal = ('custom_groups', )
于 2021-10-22T08:53:40.783 回答