aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authorTom Christie2013-10-24 07:29:21 -0700
committerTom Christie2013-10-24 07:29:21 -0700
commitd1edef410d4339982c3902bf4bd675251b0dc2c1 (patch)
treef87b0ccff53934bd524bb6ef549293b9b4e86d8e /rest_framework
parent73716c8b89cf05c3560153eb6eea46ab08981010 (diff)
parent82e9ddcf7a5cb5fda81e84326bb6f8181ccdffab (diff)
downloaddjango-rest-framework-d1edef410d4339982c3902bf4bd675251b0dc2c1.tar.bz2
Merge pull request #1199 from yamila-moreno/get-filter-backends
Added get_filter_backends method
Diffstat (limited to 'rest_framework')
-rw-r--r--rest_framework/generics.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py
index 6d204cf5..7cb80a84 100644
--- a/rest_framework/generics.py
+++ b/rest_framework/generics.py
@@ -175,6 +175,14 @@ class GenericAPIView(views.APIView):
method if you want to apply the configured filtering backend to the
default queryset.
"""
+ for backend in self.get_filter_backends():
+ queryset = backend().filter_queryset(self.request, queryset, self)
+ return queryset
+
+ def get_filter_backends(self):
+ """
+ Returns the list of filter backends that this view requires.
+ """
filter_backends = self.filter_backends or []
if not filter_backends and self.filter_backend:
warnings.warn(
@@ -185,10 +193,8 @@ class GenericAPIView(views.APIView):
PendingDeprecationWarning, stacklevel=2
)
filter_backends = [self.filter_backend]
+ return filter_backends
- for backend in filter_backends:
- queryset = backend().filter_queryset(self.request, queryset, self)
- return queryset
########################
### The following methods provide default implementations