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

标签 python django django-admin django-permissions

我正在创建一个 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/

相关文章:

python - 在 QTableWidget PyQt5 中突出显示单元格

python - 包含和关键字的 Django 查询

django - 如何在 Django 模板中自定义 `FileField` 按钮?

python - 在 django admin 中按自定义列表显示字段列表过滤器

mysql - 如何执行从不同表返回唯一值的 mySQL 查询

python - 如何一次有效地运行多个 Pytorch 进程/模型?回溯 : The paging file is too small for this operation to complete

python - 安装 pip 而无需 root 失败

django haystack 如何在单词中查找子字符串?

python - Django 管理,通过 ManyToMany 引用过滤对象

python - 是否可以控制从 matplotlib 颜色图中检索哪些颜色?