Commit 234369ae by Tom Christie

Tweaks

parent b1c07670
...@@ -190,7 +190,7 @@ class Field(object): ...@@ -190,7 +190,7 @@ class Field(object):
raise SkipField() raise SkipField()
return self.default return self.default
def validate(self, data=empty): def validate_value(self, data=empty):
""" """
Validate a simple representation and return the internal value. Validate a simple representation and return the internal value.
...@@ -506,6 +506,7 @@ class DateField(Field): ...@@ -506,6 +506,7 @@ class DateField(Field):
default_timezone = timezone.get_default_timezone() default_timezone = timezone.get_default_timezone()
value = timezone.make_naive(value, default_timezone) value = timezone.make_naive(value, default_timezone)
return value.date() return value.date()
if isinstance(value, datetime.date): if isinstance(value, datetime.date):
return value return value
...@@ -560,6 +561,7 @@ class DateTimeField(Field): ...@@ -560,6 +561,7 @@ class DateTimeField(Field):
if isinstance(value, datetime.datetime): if isinstance(value, datetime.datetime):
return value return value
if isinstance(value, datetime.date): if isinstance(value, datetime.date):
value = datetime.datetime(value.year, value.month, value.day) value = datetime.datetime(value.year, value.month, value.day)
if settings.USE_TZ: if settings.USE_TZ:
...@@ -675,7 +677,7 @@ class ChoiceField(Field): ...@@ -675,7 +677,7 @@ class ChoiceField(Field):
for item in choices for item in choices
] ]
if all(pairs): if all(pairs):
self.choices = {key: val for key, val in choices} self.choices = {key: display_value for key, display_value in choices}
else: else:
self.choices = {item: item for item in choices} self.choices = {item: item for item in choices}
......
...@@ -205,7 +205,7 @@ class Serializer(BaseSerializer): ...@@ -205,7 +205,7 @@ class Serializer(BaseSerializer):
validate_method = getattr(self, 'validate_' + field.field_name, None) validate_method = getattr(self, 'validate_' + field.field_name, None)
primitive_value = field.get_value(data) primitive_value = field.get_value(data)
try: try:
validated_value = field.validate(primitive_value) validated_value = field.validate_value(primitive_value)
if validate_method is not None: if validate_method is not None:
validated_value = validate_method(validated_value) validated_value = validate_method(validated_value)
except ValidationError as exc: except ValidationError as exc:
...@@ -327,6 +327,7 @@ class ModelSerializer(Serializer): ...@@ -327,6 +327,7 @@ class ModelSerializer(Serializer):
models.EmailField: EmailField, models.EmailField: EmailField,
models.FileField: FileField, models.FileField: FileField,
models.FloatField: FloatField, models.FloatField: FloatField,
models.ImageField: ImageField,
models.IntegerField: IntegerField, models.IntegerField: IntegerField,
models.NullBooleanField: BooleanField, models.NullBooleanField: BooleanField,
models.PositiveIntegerField: IntegerField, models.PositiveIntegerField: IntegerField,
...@@ -336,7 +337,6 @@ class ModelSerializer(Serializer): ...@@ -336,7 +337,6 @@ class ModelSerializer(Serializer):
models.TextField: CharField, models.TextField: CharField,
models.TimeField: TimeField, models.TimeField: TimeField,
models.URLField: URLField, models.URLField: URLField,
# models.ImageField: ImageField,
} }
_options_class = ModelSerializerOptions _options_class = ModelSerializerOptions
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment