diff options
| author | Carlton Gibson | 2014-02-11 20:02:51 +0100 | 
|---|---|---|
| committer | Carlton Gibson | 2014-02-11 20:02:51 +0100 | 
| commit | e56ba33d1b855fea9699afcd932318b9b6edb465 (patch) | |
| tree | 7f3f81baf7ef4b4d9069c03cee712e18ed7e1375 | |
| parent | 9a767c21a36455859cb63d72acac0eedc0a24b80 (diff) | |
| parent | f1016441f5b9f6c95530d2ec306f90aa45762831 (diff) | |
| download | django-rest-framework-e56ba33d1b855fea9699afcd932318b9b6edb465.tar.bz2 | |
Merge pull request #1406 from carltongibson/#1210
Closes #1210. 
| -rw-r--r-- | rest_framework/fields.py | 3 | ||||
| -rw-r--r-- | rest_framework/tests/test_fields.py | 9 | 
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):  | 
