【问题标题】:Django: multiple admin page consuming same model but different auth modeDjango:多个管理页面使用相同的模型但不同的身份验证模式
【发布时间】:2018-08-05 14:16:07
【问题描述】:

我正在尝试构建一个能够支持多个组织的 Django 站点。每个组织都有自己的员工和管理员,每个员工只能登录其组织的管理页面,以及来自同一组织的员工的 CRUD 数据输入。

到目前为止,创建多个扩展 AdminSite 的管理页面没有任何问题。但我不知道如何将管理员/员工帐户分配给他们自己的组织,以便他们只能访问其组织的管理页面和相应的组织数据(员工帐户现在可以进入任何管理页面)。

我也不确定为每个管理页面过滤数据的最佳方法是什么。 我现在想到的是为我的数据模型再添加一个“组”列,并根据查询人的“组”过滤每个管理页面中的查询。

对此的任何帮助和见解将不胜感激。

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    如果要扩展基类 AdminSite,则可以覆盖 AdminSite.has_permission (docs)。

    至于您问题的第二部分,听起来您正在寻找对象级权限之类的东西。django-guardian 可能是一个很好的扩展。另外,SO answer 对此有一些有趣的想法。

    【讨论】:

    • 感谢您的回答。这是一个很大的帮助。最后我修改了 DataModelAdmin 中的权限方法来过滤我的查询。
    • 如果有帮助,请采纳为正确答案:)
    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2018-03-06
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多