diff options
| author | Tom Christie | 2014-10-31 13:47:36 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-10-31 13:47:36 +0000 |
| commit | 27622058872c00e357deb7d7e86619a793ef4b41 (patch) | |
| tree | 91c56c4fdef898e4b5cc444cc2dd5de0c528479f /rest_framework | |
| parent | cd40dcb06500424ef9016913a1a89db0deed8a1f (diff) | |
| download | django-rest-framework-27622058872c00e357deb7d7e86619a793ef4b41.tar.bz2 | |
Validator documentation and tweaks
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/serializers.py | 2 | ||||
| -rw-r--r-- | rest_framework/validators.py | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 6aab020e..c9f70f2d 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -292,6 +292,8 @@ class Serializer(BaseSerializer): for key, value in self._get_base_fields().items(): self.fields[key] = value + self.validators = getattr(getattr(self, 'Meta', None), 'validators', []) + def _get_base_fields(self): return copy.deepcopy(self._declared_fields) diff --git a/rest_framework/validators.py b/rest_framework/validators.py index e302a0e4..f3773f17 100644 --- a/rest_framework/validators.py +++ b/rest_framework/validators.py @@ -19,9 +19,10 @@ class UniqueValidator: """ message = _('This field must be unique.') - def __init__(self, queryset): + def __init__(self, queryset, message=None): self.queryset = queryset self.serializer_field = None + self.message = message or self.message def set_context(self, serializer_field): # Determine the underlying model field name. This may not be the @@ -54,10 +55,11 @@ class UniqueTogetherValidator: """ message = _('The fields {field_names} must make a unique set.') - def __init__(self, queryset, fields): + def __init__(self, queryset, fields, message=None): self.queryset = queryset self.fields = fields self.serializer_field = None + self.message = message or self.message def set_context(self, serializer): # Determine the existing instance, if this is an update operation. @@ -86,10 +88,11 @@ class UniqueTogetherValidator: class BaseUniqueForValidator: message = None - def __init__(self, queryset, field, date_field): + def __init__(self, queryset, field, date_field, message=None): self.queryset = queryset self.field = field self.date_field = date_field + self.message = message or self.message def set_context(self, serializer): # Determine the underlying model field names. These may not be the |
