Сериализатор 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
Как мне получить эти значения в виде строки?