aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework
diff options
context:
space:
mode:
authorCarlton Gibson2014-02-11 20:02:51 +0100
committerCarlton Gibson2014-02-11 20:02:51 +0100
commite56ba33d1b855fea9699afcd932318b9b6edb465 (patch)
tree7f3f81baf7ef4b4d9069c03cee712e18ed7e1375 /rest_framework
parent9a767c21a36455859cb63d72acac0eedc0a24b80 (diff)
parentf1016441f5b9f6c95530d2ec306f90aa45762831 (diff)
downloaddjango-rest-framework-e56ba33d1b855fea9699afcd932318b9b6edb465.tar.bz2
Merge pull request #1406 from carltongibson/#1210
Closes #1210.
Diffstat (limited to 'rest_framework')
-rw-r--r--rest_framework/fields.py3
-rw-r--r--rest_framework/tests/test_fields.py9
2 files changed, 10 insertions, 2 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index 2f475d6e..05daaab7 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -477,7 +477,8 @@ class URLField(CharField):
type_label = 'url'
def __init__(self, **kwargs):
- kwargs['validators'] = [validators.URLValidator()]
+ if not 'validators' in kwargs:
+ kwargs['validators'] = [validators.URLValidator()]
super(URLField, self).__init__(**kwargs)
diff --git a/rest_framework/tests/test_fields.py b/rest_framework/tests/test_fields.py
index 5c96bce9..e127feef 100644
--- a/rest_framework/tests/test_fields.py
+++ b/rest_framework/tests/test_fields.py
@@ -860,7 +860,9 @@ class SlugFieldTests(TestCase):
class URLFieldTests(TestCase):
"""
- Tests for URLField attribute values
+ Tests for URLField attribute values.
+
+ (Includes test for #1210, checking that validators can be overridden.)
"""
class URLFieldModel(RESTFrameworkModel):
@@ -902,6 +904,11 @@ class URLFieldTests(TestCase):
self.assertEqual(getattr(serializer.fields['url_field'],
'max_length'), 20)
+ def test_validators_can_be_overridden(self):
+ url_field = serializers.URLField(validators=[])
+ validators = url_field.validators
+ self.assertEqual([], validators, 'Passing `validators` kwarg should have overridden default validators')
+
class FieldMetadata(TestCase):
def setUp(self):