diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 8c44ff015..ee91d057c 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -575,7 +575,6 @@ SWAGGER_SETTINGS = { 'DEFAULT_AUTO_SCHEMA_CLASS': 'utilities.custom_inspectors.NetBoxSwaggerAutoSchema', 'DEFAULT_FIELD_INSPECTORS': [ 'utilities.custom_inspectors.CustomFieldsDataFieldInspector', - 'utilities.custom_inspectors.JSONFieldInspector', 'utilities.custom_inspectors.NullableBooleanFieldInspector', 'utilities.custom_inspectors.ChoiceFieldInspector', 'utilities.custom_inspectors.SerializedPKRelatedFieldInspector', @@ -585,6 +584,7 @@ SWAGGER_SETTINGS = { 'drf_yasg.inspectors.ChoiceFieldInspector', 'drf_yasg.inspectors.FileFieldInspector', 'drf_yasg.inspectors.DictFieldInspector', + 'drf_yasg.inspectors.JSONFieldInspector', 'drf_yasg.inspectors.SerializerMethodFieldInspector', 'drf_yasg.inspectors.SimpleFieldInspector', 'drf_yasg.inspectors.StringDefaultFieldInspector', diff --git a/netbox/utilities/custom_inspectors.py b/netbox/utilities/custom_inspectors.py index 1a5ede23f..258399e86 100644 --- a/netbox/utilities/custom_inspectors.py +++ b/netbox/utilities/custom_inspectors.py @@ -1,4 +1,3 @@ -from django.contrib.postgres.fields import JSONField from drf_yasg import openapi from drf_yasg.inspectors import FieldInspector, NotHandled, PaginatorInspector, SwaggerAutoSchema from drf_yasg.utils import get_serializer_ref_name @@ -131,15 +130,6 @@ class CustomFieldsDataFieldInspector(FieldInspector): return NotHandled -class JSONFieldInspector(FieldInspector): - """Required because by default, Swagger sees a JSONField as a string and not dict - """ - def process_result(self, result, method_name, obj, **kwargs): - if isinstance(result, openapi.Schema) and isinstance(obj, JSONField): - result.type = 'dict' - return result - - class NullablePaginatorInspector(PaginatorInspector): def process_result(self, result, method_name, obj, **kwargs): if method_name == 'get_paginated_response' and isinstance(result, openapi.Schema):