From 9a05738f9773cf77d157257c9f6ffccb62d67952 Mon Sep 17 00:00:00 2001 From: dongfangtianyu Date: Sat, 6 Apr 2019 18:37:48 +0800 Subject: [PATCH] DateField and DateTimeField type are string, and have difference format --- rest_framework/schemas/openapi.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/rest_framework/schemas/openapi.py b/rest_framework/schemas/openapi.py index 94de3bba2..5860bf413 100644 --- a/rest_framework/schemas/openapi.py +++ b/rest_framework/schemas/openapi.py @@ -255,14 +255,26 @@ class AutoSchema(ViewInspector): 'type': 'array', } + # DateField and DateTimeField type is string + if isinstance(field, serializers.DateField): + return { + 'type': 'string', + 'format': 'date', + } + + if isinstance(field, serializers.DateTimeField): + return { + 'type': 'string', + 'format': 'date-time', + } + # Simplest cases, default to 'string' type: FIELD_CLASS_SCHEMA_TYPE = { serializers.BooleanField: 'boolean', serializers.DecimalField: 'number', serializers.FloatField: 'number', serializers.IntegerField: 'integer', - serializers.DateField: 'date', - serializers.DateTimeField: 'date-time', + serializers.JSONField: 'object', serializers.DictField: 'object', }