首页 > 解决方案 > Django:用户管理(创建、更改、删​​除)仅限于自己的组

问题描述

我有一个具有不同用户角色的 django 应用程序。根据角色不同的内容可用:

class User(AbstractUser):
  is_appadmin = models.BooleanField(default=False)
  is_appuser = models.BooleanField(default=False)
  is_someuser = models.BooleanField(default=False)

应该使用相同的角色进行管理。特别是应该有可能每个 D 的值有一个“管理员”(A)来创建/编辑/删除用户配置文件,但没有超级用户权限并且没有显示 D 的其他值的用户。

我尝试使用 django-admin 界面来实现这一点。一旦允许创建用户,这些本地管理员就可以为自己分配“is_superuser”。

实现这一目标的最简单方法是什么?

角色A:

角色 B + C:

角色C:

丁:

标签: djangoauthenticationdjango-adminauthorization

解决方案


除了 django-admin 之外,我还通过创建用户管理应用程序解决了这个问题,其中用户根据他们的角色拥有权限。


推荐阅读