我需要一个 Django 模型,其中 aUser
可以有Function
任意数量的Organisations
. 他对组织的权限(更改、查看、删除)由他的Role
. 我很确定我只需要一个“管理员”和一个“成员”角色。
这需要行级权限,所以我决定使用 django-guardian。我无法选择合适的模型设计。这些是替代品
第一个将具有创建新角色的优势,但我认为我不需要那个。我也可以强制执行unique_together
,以便用户在每家公司只能拥有 1 个功能。我会在 和 之间设置can_change
权限并根据和Role
之间的关系推断行级别权限吗?这意味着我什至不需要 django-guardian,对吧?User
Organization
第二个看起来要简单得多,但这可能具有欺骗性。只要将 aUser
添加到 an就必须设置权限Organization
,并且绝对是行级的。
这里的正确策略是什么?
澄清一下:在这两种情况下,用户都可以是一个组织的管理员,也可以是另一个组织的成员。