diff options
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index c68c39b5..01cf5ae3 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -215,8 +215,19 @@ class ModelField(WritableField):              self.model_field = kwargs.pop('model_field')          except:              raise ValueError("ModelField requires 'model_field' kwarg") + +        self.min_length = kwargs.pop('min_length', +                            getattr(self.model_field, 'min_length', None)) +        self.max_length = kwargs.pop('max_length', +                            getattr(self.model_field, 'max_length', None)) +                  super(ModelField, self).__init__(*args, **kwargs) +        if self.min_length is not None: +            self.validators.append(validators.MinLengthValidator(self.min_length)) +        if self.max_length is not None: +            self.validators.append(validators.MaxLengthValidator(self.max_length)) +      def from_native(self, value):          rel = getattr(self.model_field, "rel", None)          if rel is not None:  | 
