Django admin is_staff 基于组

DaV*_*iDa 5 python authentication django django-admin

是否可以通过选择组来选择is_staff?假设有两个组:用户、管理员

当新用户在 users 组中时,他不是员工,但如果他在 admins 组中,他就是员工。

DaV*_*iDa 3

我设法通过扩展 UserAdmin 类来使其工作,并在 get_form 函数中我在 mascot6699 的答案的帮助下放置了它:

if obj.groups.filter(name="Administrator").exists():
    obj.is_staff = True
else:
    obj.is_staff = False
Run Code Online (Sandbox Code Playgroud)

因此,每当我将用户(使用管理菜单)放入管理员组时,它都会检查 is_staff 选项,否则会取消选中它。