Я пытаюсь проверить несколько классов разрешений в методе get_permissions
ModelViewSet, но даже если has_object_permission
возвращает false для всех классов в списке, я все еще могу выполнить действие.
Вот мой метод get_permissions:
def get_permissions(self):
if self.action in ("retrieve", "list",):
permission_classes = [AllowAny]
elif self.action in ("update", "partial_update", "destroy",):
permission_classes = [IsOwner | IsAdminUser]
else:
permission_classes = [IsAdminUser]
return [permission() for permission in permission_classes]
На update
IsOwner возвращает True для has_permission
и False для has_object_permission
, но даже не администратор может делать обновления.
Кто-нибудь знает, что я здесь делаю не так?