aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/settings.py
diff options
context:
space:
mode:
authorTom Christie2012-11-09 05:07:34 -0800
committerTom Christie2012-11-09 05:07:34 -0800
commitc7df9694b5a7a7931161f74a7c5c16d5c98d87d9 (patch)
treed2f832ad883a51ce2bde6b1d44b0156f300612c3 /rest_framework/settings.py
parent0089f0faa716bd37ca29f9f2db98b4ab273e01f1 (diff)
parentff1234b711b8dfb7dc1cc539fa9d2b6fd2477825 (diff)
downloaddjango-rest-framework-c7df9694b5a7a7931161f74a7c5c16d5c98d87d9.tar.bz2
Merge pull request #383 from tomchristie/filtering
Support for filtering backends
Diffstat (limited to 'rest_framework/settings.py')
-rw-r--r--rest_framework/settings.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/rest_framework/settings.py b/rest_framework/settings.py
index 9c40a214..906a7cf6 100644
--- a/rest_framework/settings.py
+++ b/rest_framework/settings.py
@@ -55,6 +55,7 @@ DEFAULTS = {
'anon': None,
},
'PAGINATE_BY': None,
+ 'FILTER_BACKEND': None,
'UNAUTHENTICATED_USER': 'django.contrib.auth.models.AnonymousUser',
'UNAUTHENTICATED_TOKEN': None,
@@ -79,6 +80,7 @@ IMPORT_STRINGS = (
'DEFAULT_CONTENT_NEGOTIATION_CLASS',
'DEFAULT_MODEL_SERIALIZER_CLASS',
'DEFAULT_PAGINATION_SERIALIZER_CLASS',
+ 'FILTER_BACKEND',
'UNAUTHENTICATED_USER',
'UNAUTHENTICATED_TOKEN',
)
@@ -142,8 +144,15 @@ class APISettings(object):
if val and attr in self.import_strings:
val = perform_import(val, attr)
+ self.validate_setting(attr, val)
+
# Cache the result
setattr(self, attr, val)
return val
+ def validate_setting(self, attr, val):
+ if attr == 'FILTER_BACKEND' and val is not None:
+ # Make sure we can initilize the class
+ val()
+
api_settings = APISettings(USER_SETTINGS, DEFAULTS, IMPORT_STRINGS)