我已将 django-guardian 的行级权限添加到我的项目中。
从设置看来一切正常:
- 已创建监护人特定表(guardian_groupobjectpermission、guardian_userobjectpermission)
- 具有 GuardedModelAdmin 的模型在“历史记录”旁边显示“对象权限”功能
- 它让我可以为用户/组分配“添加”、“更改”、“删除”权限
但是分配(而不是分配)权限对管理界面完全没有影响。每个用户都可以对所有对象做任何事情。
我试过了
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)
但这与上面的效果相似,它只限制了可见项。
我希望看到管理员“保存”和“删除”按钮(和功能)听 django-guardian。这是误会吗?还是我根本还没有走完整条路?
感谢您的任何提示!R