观察到对管理界面没有影响的行级权限



我已经使用django-guardian为我的项目添加了行级权限。

从设置来看,似乎一切都很好:

  • 已创建特定于Guardian的表(Guardian_groupobjectpermission、Guardian_userobjectpermission)
  • 具有GuardedModelAdmin的模型在"历史记录"旁边显示"对象权限"功能
  • 它允许我为用户/组分配"添加"、"更改"one_answers"删除"权限

但是分配(即不分配)权限对管理界面没有任何影响。每个用户都可以对所有对象执行所有操作。

我试过

user_can_access_owned_objects_only = True

但这只会影响查看对象的能力。一旦用户看到它,他也可以更改和删除它。不管权限中设置了什么。

我在ModelAdmin 中进行了另一次讨论

def queryset(self, request):
    if request.user.is_superuser:
        return get_objects_for_user(user=request.user, perms=['change_program'], klass=Program) 

但这与上面的效果类似,它只限制可见项目。

我本来希望看到管理员"保存"one_answers"删除"按钮(和功能)听django-guardian。这是误解吗?还是我还没有走完整条路?

谢谢你的提示!R

Guardian允许您创建自己的权限来分配给用户/对象组合,但基于这些对象权限限制对资源的访问仍然需要您在视图中编写代码。因此,在Admin视图中没有自动强制执行。管理集成是为了允许访问管理界面的用户管理对象级权限,请参阅guardian文档:

http://django-guardian.readthedocs.org/en/latest/userguide/admin-integration.html

相关内容

  • 没有找到相关文章

最新更新