mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-02 20:54:42 +03:00
Tweaks
This commit is contained in:
parent
b1c07670ca
commit
234369aefd
|
@ -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):
|
||||||
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):
|
||||||
|
|
||||||
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):
|
||||||
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):
|
||||||
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):
|
||||||
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):
|
||||||
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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user