在我的django应用程序中,我有一个名为Client的模型,其中包含有关我的企业客户的信息。我有两组使用我的应用程序的员工-技术人员和财务人员。
技术人员可以查看/更新客户端的属性,例如“密码哈希”,“登录IP地址”。财务会员可以查看/更新“ total_revenue”或“ bank_account_number”之类的属性。
我在文档中看到Predicates can be created from any callable that accepts anything from zero to two positional arguments
。
是否可以将其扩展为三个位置参数?我有兴趣执行以下操作:
@rules.predicate
def can_view_attribute(user, model, attribute):
如果以上情况均不可行,我计划为其属性的每个的Client
类生成一个规则。规则生成将在我的应用程序的初始化阶段进行。
@rules.predicate
def can_view_client_attribute(user, attribute):