【发布时间】:2017-03-04 05:01:46
【问题描述】:
型号:
Company
Product
我们有一家母公司(所有人的所有者),它可以创建任何Company 和任何Product,作为子公司或子产品。
现在,我想要完成的是限制哪些公司可以对其他公司和产品进行 CRUD。
以下是场景:
公司和子公司(分包商):
Master (creates) -> Company “A”
Master (creates) -> Company “B” (creates) -> Company “C”
Master (creates) -> Company “D” (creates) -> Company “F” (creates) -> Company “G”
公司和产品分配:
Master (Add Product) -> Show all products
Master (assign products to top levels) -> Company “A”, Company “B” and Company ”D”
子公司产品分配(管理):
Company “B” (assign products only to sub-level) -> Company “C”
Company “D” (assign products only to sub-level) -> Company “F”
Company “F” (assign products only to sub-level) -> Company “G”
但是,如果Company D 从子级别中删除一个产品,这也会递归地从所有子级别产品中删除。
是否有任何确定的方法可以使用 Django 核心执行此操作,或者可能有一个我没有找到的推荐库?我还在 Django 文档中看到了对 Model Meta options 和 Options.permissions 方法的引用……但我也不确定这是否是我所需要的。
【问题讨论】:
-
权限一般与(登录)用户有关。每个用户都属于一家公司吗?
-
是的,每个用户都属于一个公司。
标签: python django python-3.x