diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index 1b899450f..903891f4b 100644 --- a/rest_framework/schemas.py +++ b/rest_framework/schemas.py @@ -88,9 +88,7 @@ class SchemaGenerator(object): if request is not None: view.request = clone_request(request, method) - try: - view.check_permissions(view.request) - except exceptions.APIException: + if not self.check_view_permission(view): continue else: view.request = None @@ -165,6 +163,13 @@ class SchemaGenerator(object): return True + def check_view_permission(self, view): + try: + view.check_permissions(view.request) + except exceptions.APIException: + return False + return True + def get_allowed_methods(self, callback): """ Return a list of the valid HTTP methods for this endpoint.