diff --git a/rest_framework/permissions.py b/rest_framework/permissions.py index 5d75f54bad..7ad18ce3dd 100644 --- a/rest_framework/permissions.py +++ b/rest_framework/permissions.py @@ -81,8 +81,11 @@ def has_permission(self, request, view): def has_object_permission(self, request, view, obj): return ( - self.op1.has_object_permission(request, view, obj) or - self.op2.has_object_permission(request, view, obj) + self.op1.has_permission(request, view) + and self.op1.has_object_permission(request, view, obj) + ) or ( + self.op2.has_permission(request, view) + and self.op2.has_object_permission(request, view, obj) )