我正在创建一个 Django 应用程序,针对拥有多个用户的组织。所以在模型中,我有组织和用户,组织应该是独立的。
组织中第一个注册的用户将是管理员,下一个注册的用户将是员工。管理员可以创建用户组(用户组/角色)来设置员工在应用内的权限。
Django 已经允许这样做,但是 Django 管理员可以编辑所有用户,对吗?有没有办法让组织的经理只能查看和编辑其员工权限,而看不到数据库中的所有用户?
最佳答案
您可以做的是覆盖 ModelAdmin
上的 get_queryset
class ClassAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(ClassAdmin, self).get_queryset(request)
if your_condition:
return qs.filter(b='bar')
return qs.filter(b='foo')
当您将类(class)注册到管理员时,不要忘记执行admin.site.register(Class, ClassAdmin)
关于python - Django 中不同组织的管理员、用户和组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45979791/