mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-07-28 17:09:59 +03:00
serializers: removes no longer needed compat checks
UUIDField and DurationField are both supported in all supported Django versions. IPAddressField was removed in Django 1.9, which is no longer supported.
This commit is contained in:
parent
de497a9bf1
commit
3a8fdbe1f2
|
@ -19,7 +19,6 @@ from collections.abc import Mapping
|
||||||
from django.core.exceptions import FieldDoesNotExist, ImproperlyConfigured
|
from django.core.exceptions import FieldDoesNotExist, ImproperlyConfigured
|
||||||
from django.core.exceptions import ValidationError as DjangoValidationError
|
from django.core.exceptions import ValidationError as DjangoValidationError
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import DurationField as ModelDurationField
|
|
||||||
from django.db.models.fields import Field as DjangoModelField
|
from django.db.models.fields import Field as DjangoModelField
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
|
@ -876,6 +875,7 @@ class ModelSerializer(Serializer):
|
||||||
models.DateField: DateField,
|
models.DateField: DateField,
|
||||||
models.DateTimeField: DateTimeField,
|
models.DateTimeField: DateTimeField,
|
||||||
models.DecimalField: DecimalField,
|
models.DecimalField: DecimalField,
|
||||||
|
models.DurationField: DurationField,
|
||||||
models.EmailField: EmailField,
|
models.EmailField: EmailField,
|
||||||
models.Field: ModelField,
|
models.Field: ModelField,
|
||||||
models.FileField: FileField,
|
models.FileField: FileField,
|
||||||
|
@ -890,11 +890,10 @@ class ModelSerializer(Serializer):
|
||||||
models.TextField: CharField,
|
models.TextField: CharField,
|
||||||
models.TimeField: TimeField,
|
models.TimeField: TimeField,
|
||||||
models.URLField: URLField,
|
models.URLField: URLField,
|
||||||
|
models.UUIDField: UUIDField,
|
||||||
models.GenericIPAddressField: IPAddressField,
|
models.GenericIPAddressField: IPAddressField,
|
||||||
models.FilePathField: FilePathField,
|
models.FilePathField: FilePathField,
|
||||||
}
|
}
|
||||||
if ModelDurationField is not None:
|
|
||||||
serializer_field_mapping[ModelDurationField] = DurationField
|
|
||||||
serializer_related_field = PrimaryKeyRelatedField
|
serializer_related_field = PrimaryKeyRelatedField
|
||||||
serializer_related_to_field = SlugRelatedField
|
serializer_related_to_field = SlugRelatedField
|
||||||
serializer_url_field = HyperlinkedIdentityField
|
serializer_url_field = HyperlinkedIdentityField
|
||||||
|
@ -1585,13 +1584,6 @@ class ModelSerializer(Serializer):
|
||||||
return validators
|
return validators
|
||||||
|
|
||||||
|
|
||||||
if hasattr(models, 'UUIDField'):
|
|
||||||
ModelSerializer.serializer_field_mapping[models.UUIDField] = UUIDField
|
|
||||||
|
|
||||||
# IPAddressField is deprecated in Django
|
|
||||||
if hasattr(models, 'IPAddressField'):
|
|
||||||
ModelSerializer.serializer_field_mapping[models.IPAddressField] = IPAddressField
|
|
||||||
|
|
||||||
if postgres_fields:
|
if postgres_fields:
|
||||||
ModelSerializer.serializer_field_mapping[postgres_fields.HStoreField] = HStoreField
|
ModelSerializer.serializer_field_mapping[postgres_fields.HStoreField] = HStoreField
|
||||||
ModelSerializer.serializer_field_mapping[postgres_fields.ArrayField] = ListField
|
ModelSerializer.serializer_field_mapping[postgres_fields.ArrayField] = ListField
|
||||||
|
|
Loading…
Reference in New Issue
Block a user