Django 中不同组织的管理员、用户和组

Admins, users and groups in different organizations in Django

我正在创建一个 Django 应用程序,针对将有多个用户的组织。所以在模型中,我有组织和用户,组织应该是独立的。

组织的第一个注册用户是管理员,下一个注册用户是员工。管理员可以创建用户组 (usergroups/roles) 以在应用程序内设置员工的权限。

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)