From d67ee708e5d9f28f26377df391f5e72708e073d2 Mon Sep 17 00:00:00 2001 From: Jacob Magnusson Date: Sun, 18 Nov 2012 18:14:21 +0100 Subject: Add support for min_length / max_length keywords on basic ModelFields --- rest_framework/fields.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'rest_framework/fields.py') 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: -- cgit v1.2.3