Сериализатор django DateTimeField возвращает время даты в строковый формат

У меня есть сериализатор, который проверяет datetime fields.

import rest_framework.serializers as serializer

from django.conf import settings

class ValueNestedSerializer(serializer.Serializer):
    lower = serializer.DateTimeField(format=settings.DEFAULT_DATETIME_FORMAT, input_formats=settings.DATETIME_INPUT_FORMATS, required=True)
    upper = serializer.DateTimeField(format=settings.DEFAULT_DATETIME_FORMAT, input_formats=settings.DATETIME_INPUT_FORMATS, required=True)

class DateRangeSerializer(serializer.Serializer):
    attribute = serializer.CharField(default="UPLOAD_TIME", allow_null=True)
    operator = serializer.CharField(default="between_dates")
    value = ValueNestedSerializer(required=True)
    timezone = serializer.CharField(default="UTC")
    timezoneOffset = serializer.IntegerField(default=0)
    def validate_attribute(self, attribute):
        return 'device_time' if attribute and attribute.lower() == 'device_time' else 'date_range'

Полезная нагрузка имеет формат:

"date_range": {
        "attribute": "date_range",
        "operator": "between_dates",
        "value": {
            "lower": "2023-01-06T00:00:00Z",
            "upper": "2023-02-06T23:59:59Z"
        }
    }

Я попробовал установить формат '%Y-%m-%dT%H:%M:%SZ', но это все равно возвращает значения lower и upper как datetime типа.

   (datetime) 2023-02-06 23:59:59+00:00

Как мне получить эти значения в виде строки?

Вернуться на верх