python – Django规则对象权限
我正在尝试使用django rules在django和django管理界面中配置对象权限. 现在,当我添加权限规则时,它们将始终仅使用第一个参数调用,但对象始终为None. 例如,我是否会创建此谓词:
然后将其添加到django权限集:
现在,当我与用户登录管理界面时,将使用用户和None调用is_book_author.它将被多次调用(每个对象一次),但对象始终为None. 我正在使用规则2.0.0与django 2.1.1和python 3.7. 如果我做错了什么或如何配置django以使用单个对象调用谓词,任何想法? 最佳答案
正如django-rules documentation所述:
如果您想告诉Django用户是否拥有特定对象的权限,您必须覆盖模型的ModelAdmin的以下方法:
规则附带一个自定义的ModelAdmin子类rules.contrib.admin.ObjectPermissionsModelAdmin,它覆盖这些方法以将已编辑的模型实例传递给授权后端,从而在Admin中启用每个对象的权限:
现在,这允许您指定如下权限:
为了保持向后兼容性,Django将要求查看或更改权限.为了获得最大的灵活性,规则的行为略有不同:当且仅当视图权限不存在规则时,规则才会要求更改权限. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |