我正在尝试构建一个能够支持多个组织的Django网站。每个组织都有自己的员工和管理员,每个员工只能登录到其组织的admin页面,并且CRUD数据是从与他们相同的组织的员工输入的。
到目前为止,我没有问题创建扩展AdminSite的多个管理页面。但是我不知道如何将admin / staff帐户分配给他们自己的组织,以便他们只能相应地访问其组织的Admin Page和组织的数据(员工帐户现在可以输入任何AdminPage)。
我也不确定为每个管理页面过滤数据的最佳方法是什么。 我现在要记住的是为我的数据模型添加一个“组”列,并根据查询人员的“组”在每个管理页面中过滤查询。
对此将提供任何帮助和见解。
答案 0 :(得分:0)
如果要扩展基础AdminSite.has_permission
类,则可以覆盖AdminSite
(docs)。
对于问题的第二部分,听起来好像您正在寻找对象级权限之类的东西。django-guardian可能是一个很好的扩展。另外,这个SO answer对此有一些有趣的想法。