Timedata не совпадает с форматом, хотя они идентичны
Выпуск:
ValueError: time data '2024-05-26 18:00' does not match format 'YYYY-MM-DD HH:mm'
Я использую DRF для получения POST для api/reservations/. Но Django пожаловался, что str не может быть передан в DateTimeField. Поэтому я попытался отформатировать str в правильное время даты. Но даже если строка и формат полностью идентичны, различные методы все равно жалуются на что-то неизвестное мне.
Код:
def create(self, validated_data):
validated_data.update({
'reservation_time': datetime.datetime.strptime(validated_data.get('reservation_time'), 'YYYY-MM-DD HH:mm').date()
})
return self.Meta.model(**validated_data)
Я пытался изменить формат даты через JS на "YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]."
(точка a в конце - это часть формата, а не опечатка) и сделать это в Python, ничего не получилось.
Пробовал и django.utils.dateparse.parse_date
, и datetime.datetime.strptime
. parse_date
возвращает None, то есть что-то не так с форматом, а strptime
поднимает ValueError
выше. Что я упускаю?
Формат работает с процентами, смотрите полные спецификации формата [python-doc]:
def create(self, validated_data):
validated_data.update(
{
'reservation_time': datetime.datetime.strptime(
validated_data.get('reservation_time'), '%Y-%m-%d %H:%M'
).date()
}
)
return self.Meta.model(**validated_data)