diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index e1513440c..c20b60aad 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -894,6 +894,10 @@ class ModelSerializer(Serializer): models.GenericIPAddressField: IPAddressField, models.FilePathField: FilePathField, } + if postgres_fields: + serializer_field_mapping[postgres_fields.HStoreField] = HStoreField + serializer_field_mapping[postgres_fields.ArrayField] = ListField + serializer_field_mapping[postgres_fields.JSONField] = JSONField serializer_related_field = PrimaryKeyRelatedField serializer_related_to_field = SlugRelatedField serializer_url_field = HyperlinkedIdentityField @@ -1584,12 +1588,6 @@ class ModelSerializer(Serializer): return validators -if postgres_fields: - ModelSerializer.serializer_field_mapping[postgres_fields.HStoreField] = HStoreField - ModelSerializer.serializer_field_mapping[postgres_fields.ArrayField] = ListField - ModelSerializer.serializer_field_mapping[postgres_fields.JSONField] = JSONField - - class HyperlinkedModelSerializer(ModelSerializer): """ A type of `ModelSerializer` that uses hyperlinked relationships instead