From ebb52d054355135469dcf1e2d097ac012feb5d8a Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Fri, 21 Oct 2016 09:28:02 +0200 Subject: [PATCH] Fixes CharField behaviour and introduces proper validation for ModelField --- taiga/base/api/fields.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/taiga/base/api/fields.py b/taiga/base/api/fields.py index bab90160..a06a7c60 100644 --- a/taiga/base/api/fields.py +++ b/taiga/base/api/fields.py @@ -467,6 +467,11 @@ class ModelField(WritableField): "type": self.model_field.get_internal_type() } + def validate(self, value): + super(ModelField, self).validate(value) + if value is None and not self.model_field.null: + raise ValidationError(self.error_messages['invalid']) + ##### Typed Fields ##### @@ -512,8 +517,9 @@ class CharField(WritableField): self.validators.append(validators.MaxLengthValidator(max_length)) def from_native(self, value): - if isinstance(value, six.string_types) or value is None: - return value + if value in validators.EMPTY_VALUES: + return "" + return smart_text(value) def to_native(self, value):