我正在尝试建立一个Django站点,它能够支持多个组织。每个组织将有自己的员工和管理员,每个员工只能登录到其组织的管理页面,并从与他们相同组织的员工处录入CRUD数据。
到目前为止,我在创建扩展AdminSite的多个管理页面时没有遇到任何问题。但我不知道如何将管理员/员工帐户分配给他们自己的组织,以便他们只能相应地访问其组织的管理页面和组织的数据(员工帐户现在可以输入任何AdminPage)。
我也不确定为每个管理页面过滤数据的最佳方式是什么。我现在考虑的是为我的数据模型再添加一个“group”列,并根据查询人员的“group”过滤每个管理页面中的查询。
任何关于这方面的帮助和见解都将不胜感激。
发布于 2018-08-06 01:07:50
如果要扩展AdminSite基类,则可以覆盖AdminSite.has_permission (docs)。
至于你问题的第二部分,听起来你在寻找像对象级权限这样的东西,django-guardian可能是一个很好的扩展。另外,这篇SO answer对此有一些有趣的想法。
https://stackoverflow.com/questions/51695114
复制相似问题