diff --git a/rest_framework/compat.py b/rest_framework/compat.py index 914beab77..2e0c0fc16 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -115,14 +115,6 @@ def _resolve_model(obj): raise ValueError("{0} is not a Django model".format(obj)) -# TODO: Remove -# JSONField is only supported from 1.9 onwards -try: - from django.contrib.postgres.fields import JSONField -except ImportError: - JSONField = None - - # coreapi is optional (Note that uritemplate is a dependency of coreapi) try: import coreapi diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 9a231830e..3665bf0a9 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -27,7 +27,6 @@ from django.utils import six, timezone from django.utils.functional import cached_property from django.utils.translation import ugettext_lazy as _ -from rest_framework.compat import JSONField as ModelJSONField from rest_framework.compat import set_many, unicode_to_repr from rest_framework.exceptions import ErrorDetail, ValidationError from rest_framework.fields import get_error_detail, set_value @@ -51,6 +50,11 @@ try: except ImportError: postgres_fields = None +try: + from django.contrib.postgres.fields import JSONField as ModelJSONField +except ImportError: + ModelJSONField = None + # Note: We do the following so that users of the framework can use this style: # diff --git a/rest_framework/utils/field_mapping.py b/rest_framework/utils/field_mapping.py index dff33d8b3..0503a701c 100644 --- a/rest_framework/utils/field_mapping.py +++ b/rest_framework/utils/field_mapping.py @@ -8,9 +8,14 @@ from django.core import validators from django.db import models from django.utils.text import capfirst -from rest_framework.compat import DecimalValidator, JSONField +from rest_framework.compat import DecimalValidator from rest_framework.validators import UniqueValidator +try: + from django.contrib.postgres.fields import JSONField +except ImportError: + JSONField = None + NUMERIC_FIELD_TYPES = ( models.IntegerField, models.FloatField, models.DecimalField )