mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-02 20:54:42 +03:00
Fix some bits of serialization
This commit is contained in:
parent
4fb57d28e6
commit
e0913e29b8
|
@ -42,7 +42,11 @@ class Field(object):
|
||||||
|
|
||||||
self.source = source
|
self.source = source
|
||||||
self.readonly = readonly
|
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 = {}
|
messages = {}
|
||||||
for c in reversed(self.__class__.__mro__):
|
for c in reversed(self.__class__.__mro__):
|
||||||
|
@ -66,9 +70,8 @@ class Field(object):
|
||||||
self.model_field = model_field
|
self.model_field = model_field
|
||||||
|
|
||||||
def validate(self, value):
|
def validate(self, value):
|
||||||
pass
|
if value in validators.EMPTY_VALUES and self.required:
|
||||||
# if value in validators.EMPTY_VALUES and self.required:
|
raise ValidationError(self.error_messages['required'])
|
||||||
# raise ValidationError(self.error_messages['required'])
|
|
||||||
|
|
||||||
def run_validators(self, value):
|
def run_validators(self, value):
|
||||||
if value in validators.EMPTY_VALUES:
|
if value in validators.EMPTY_VALUES:
|
||||||
|
|
|
@ -95,7 +95,7 @@ class BaseSerializer(Field):
|
||||||
self.context = context or {}
|
self.context = context or {}
|
||||||
|
|
||||||
self.init_data = data
|
self.init_data = data
|
||||||
self.instance = instance
|
self.object = instance
|
||||||
|
|
||||||
self._data = None
|
self._data = None
|
||||||
self._errors = None
|
self._errors = None
|
||||||
|
@ -247,7 +247,7 @@ class BaseSerializer(Field):
|
||||||
self._errors = {}
|
self._errors = {}
|
||||||
attrs = self.restore_fields(data)
|
attrs = self.restore_fields(data)
|
||||||
if not self._errors:
|
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
|
@property
|
||||||
def errors(self):
|
def errors(self):
|
||||||
|
@ -267,7 +267,7 @@ class BaseSerializer(Field):
|
||||||
@property
|
@property
|
||||||
def data(self):
|
def data(self):
|
||||||
if self._data is None:
|
if self._data is None:
|
||||||
self._data = self.to_native(self.instance)
|
self._data = self.to_native(self.object)
|
||||||
return self._data
|
return self._data
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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,
|
m = re.search(r'^%s$|^%s\s|\s%s\s|\s%s$' % (css_class, css_class,
|
||||||
css_class, css_class),
|
css_class, css_class),
|
||||||
match.group(1))
|
match.group(1))
|
||||||
print match.group(1)
|
|
||||||
if not m:
|
if not m:
|
||||||
return mark_safe(class_re.sub(match.group(1) + " " + css_class,
|
return mark_safe(class_re.sub(match.group(1) + " " + css_class,
|
||||||
html))
|
html))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user