aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2012-09-25 13:20:12 +0100
committerTom Christie2012-09-25 13:20:12 +0100
commite0913e29b846a5b6aedc08ef8243ce62e80ecbfd (patch)
tree6504d36635804f7f59c54786751ae45e8a473ad9
parent4fb57d28e60c02593f14ba7cdebed4e478371512 (diff)
downloaddjango-rest-framework-e0913e29b846a5b6aedc08ef8243ce62e80ecbfd.tar.bz2
Fix some bits of serialization
-rw-r--r--rest_framework/fields.py11
-rw-r--r--rest_framework/serializers.py6
-rw-r--r--rest_framework/templatetags/rest_framework.py1
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))