From 5fd01d06ab375c10f8821863617277fddd2a422c Mon Sep 17 00:00:00 2001 From: Felipe Bidu Date: Tue, 22 Aug 2017 11:00:19 -0300 Subject: [PATCH 1/3] Adding a more explicit error message when a view does have a get_queryset method but it returned nothing --- rest_framework/permissions.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rest_framework/permissions.py b/rest_framework/permissions.py index f24775278..484630ae7 100644 --- a/rest_framework/permissions.py +++ b/rest_framework/permissions.py @@ -122,6 +122,9 @@ class DjangoModelPermissions(BasePermission): if hasattr(view, 'get_queryset'): queryset = view.get_queryset() + assert queryset is not None, ( + 'The `.get_queryset()` method from the view did not return anything.' + ) else: queryset = getattr(view, 'queryset', None) From 6f2c3bcb1287db58a191ab7ee4d9723a3377e716 Mon Sep 17 00:00:00 2001 From: Felipe Bidu Date: Tue, 22 Aug 2017 12:13:22 -0300 Subject: [PATCH 2/3] Further clarifying the message when get_queryset returns None to include the class name that was called --- rest_framework/permissions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/permissions.py b/rest_framework/permissions.py index 484630ae7..01b74e877 100644 --- a/rest_framework/permissions.py +++ b/rest_framework/permissions.py @@ -123,7 +123,7 @@ class DjangoModelPermissions(BasePermission): if hasattr(view, 'get_queryset'): queryset = view.get_queryset() assert queryset is not None, ( - 'The `.get_queryset()` method from the view did not return anything.' + 'Return of {}.get_queryset() was None'.format(view.__class__.__name__) ) else: queryset = getattr(view, 'queryset', None) From 6a3b8cfa4c2622ce38c5e0b217fcc5acb624a701 Mon Sep 17 00:00:00 2001 From: Carlton Gibson Date: Tue, 22 Aug 2017 20:44:19 +0200 Subject: [PATCH 3/3] Adjust wording --- rest_framework/permissions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/permissions.py b/rest_framework/permissions.py index 01b74e877..57de3a35c 100644 --- a/rest_framework/permissions.py +++ b/rest_framework/permissions.py @@ -123,7 +123,7 @@ class DjangoModelPermissions(BasePermission): if hasattr(view, 'get_queryset'): queryset = view.get_queryset() assert queryset is not None, ( - 'Return of {}.get_queryset() was None'.format(view.__class__.__name__) + '{}.get_queryset() returned None'.format(view.__class__.__name__) ) else: queryset = getattr(view, 'queryset', None)