如何在Django Rest Framework中检查请求的用户是否具有特定的自定义权限



我想用布尔答案True/False来检查请求的用户是否具有在permissions.py.中定义的权限

更特别的是,我想检查请求的用户是否具有IsDriver的权限。有可能吗?

class ExampleViewSet(viewsets.ModelViewSet):
permission_classes = [IsChargingStationOwner |IsDriver | IsReadOnlyStations]
serializer_class = ExampleSerializer
def get_queryset(self):
# get the request user
requested_user = self.request.user
if requested_user.is_anonymous :
print('1')
elif requested_user .... :
print('2')

我的问题与elif声明有关。

创建一个继承的自定义权限类

rest_framework.permissions.BasePermission

检查DRF权限文档此处

如果你想在任何方法中再次调用它,你可以使用@gtopal方法:

elif IsDriver().has_permission(self.request, self):
print('2')

最新更新