diff options
| author | Tom Christie | 2012-09-25 13:20:12 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-09-25 13:20:12 +0100 |
| commit | e0913e29b846a5b6aedc08ef8243ce62e80ecbfd (patch) | |
| tree | 6504d36635804f7f59c54786751ae45e8a473ad9 | |
| parent | 4fb57d28e60c02593f14ba7cdebed4e478371512 (diff) | |
| download | django-rest-framework-e0913e29b846a5b6aedc08ef8243ce62e80ecbfd.tar.bz2 | |
Fix some bits of serialization
| -rw-r--r-- | rest_framework/fields.py | 11 | ||||
| -rw-r--r-- | rest_framework/serializers.py | 6 | ||||
| -rw-r--r-- | rest_framework/templatetags/rest_framework.py | 1 |
3 files changed, 10 insertions, 8 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 2d44a1e1..eab90617 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -42,7 +42,11 @@ class Field(object): self.source = source self.readonly = readonly - self.required = not(readonly) + if required is None: + self.required = not(readonly) + else: + assert not readonly, "Cannot set required=True and readonly=True" + self.required = required messages = {} for c in reversed(self.__class__.__mro__): @@ -66,9 +70,8 @@ class Field(object): self.model_field = model_field def validate(self, value): - pass - # if value in validators.EMPTY_VALUES and self.required: - # raise ValidationError(self.error_messages['required']) + if value in validators.EMPTY_VALUES and self.required: + raise ValidationError(self.error_messages['required']) def run_validators(self, value): if value in validators.EMPTY_VALUES: diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 96e46d94..4d5958d2 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -95,7 +95,7 @@ class BaseSerializer(Field): self.context = context or {} self.init_data = data - self.instance = instance + self.object = instance self._data = None self._errors = None @@ -247,7 +247,7 @@ class BaseSerializer(Field): self._errors = {} attrs = self.restore_fields(data) if not self._errors: - return self.restore_object(attrs, instance=getattr(self, 'instance', None)) + return self.restore_object(attrs, instance=getattr(self, 'object', None)) @property def errors(self): @@ -267,7 +267,7 @@ class BaseSerializer(Field): @property def data(self): if self._data is None: - self._data = self.to_native(self.instance) + self._data = self.to_native(self.object) return self._data diff --git a/rest_framework/templatetags/rest_framework.py b/rest_framework/templatetags/rest_framework.py index bfc450ee..deabd11c 100644 --- a/rest_framework/templatetags/rest_framework.py +++ b/rest_framework/templatetags/rest_framework.py @@ -103,7 +103,6 @@ def add_class(value, css_class): m = re.search(r'^%s$|^%s\s|\s%s\s|\s%s$' % (css_class, css_class, css_class, css_class), match.group(1)) - print match.group(1) if not m: return mark_safe(class_re.sub(match.group(1) + " " + css_class, html)) |
