Skip to content

Commit ffe0288

Browse files
committed
Changed error to warning message
1 parent fbd89d6 commit ffe0288

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

rest_framework/settings.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
REST framework settings, checking for user settings first, then falling
1818
back to the defaults.
1919
"""
20+
import warnings
2021
from __future__ import unicode_literals
2122

2223
from django.conf import settings
@@ -216,7 +217,7 @@ def __check_user_settings(self, user_settings):
216217
SETTINGS_DOC = "http://www.django-rest-framework.org/api-guide/settings/"
217218
for setting in REMOVED_SETTINGS:
218219
if setting in user_settings:
219-
raise AttributeError("The '%s' setting has been removed. Please refer to '%s' for available settings." % (setting, SETTINGS_DOC))
220+
warnings.warn("The '%s' setting has been removed. Please refer to '%s' for available settings." % (setting, SETTINGS_DOC), DeprecationWarning)
220221
return user_settings
221222

222223

tests/test_settings.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,18 @@ def test_import_error_message_maintained(self):
1818
with self.assertRaises(ImportError):
1919
settings.DEFAULT_RENDERER_CLASSES
2020

21-
def test_loud_error_raised_on_removed_setting(self):
21+
def test_warning_raised_on_removed_setting(self):
2222
"""
2323
Make sure user is alerted with an error when a removed setting
2424
is set.
2525
"""
26-
with self.assertRaises(AttributeError):
26+
with warnings.catch_warnings(record=True) as w:
27+
warnings.simplefilter("always")
2728
APISettings({
2829
'MAX_PAGINATE_BY': 100
2930
})
31+
self.assertEqual(len(w), 1)
32+
self.assertTrue(issubclass(w[-1].category, DeprecationWarning))
3033

3134

3235
class TestSettingTypes(TestCase):

0 commit comments

Comments
 (0)