小编典典

Django REST Framework视图集按操作权限

python

是否有最佳做法,为给定APIView或的每个操作分配不同的权限ViewSet

假设我定义了一些权限类,例如“ IsAdmin”,“ IsRole1”,“
IsRole2”,…,并且我想为单个操作授予不同的权限(例如,具有Role1的用户可以创建或检索,具有Role2可以更新,只有管理员可以删除)。

如何构造基于类的视图,以便将权限类分配给“创建”,“列表”,“检索”,“更新”,“删除”操作?我正在尝试这样做,以便拥有一个可以在具有相同权限模式的不同表中重用的类。

也许我只是被一英寸的水淹死了,谢谢您的答复。


阅读 215

收藏
2020-12-20

共1个答案

小编典典

您可以创建扩展DRF的自定义权限类BasePermission

您可以实现has_permission,你可以访问requestview对象。您可以检查request.user适当的角色并根据需要返回True/
False

看一下提供的IsAuthenticatedOrReadOnly类(和其他类),以了解它有多么简单。

希望对您有所帮助。

2020-12-20