aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/fields.py
diff options
context:
space:
mode:
authorTom Christie2012-11-19 09:39:59 -0800
committerTom Christie2012-11-19 09:39:59 -0800
commit25f024575bc36ea6ed386160a31b70abb5ac3e6e (patch)
tree61728e30fc21a175c65475815fe5b90926449cbb /rest_framework/fields.py
parent4e42ef0bd50a8c8af5196311ce451f3917086ec5 (diff)
parentd67ee708e5d9f28f26377df391f5e72708e073d2 (diff)
downloaddjango-rest-framework-25f024575bc36ea6ed386160a31b70abb5ac3e6e.tar.bz2
Merge pull request #426 from jmagnusson/master
Support min_length / max_length kwargs on basic ModelFields
Diffstat (limited to 'rest_framework/fields.py')
-rw-r--r--rest_framework/fields.py11
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: