问题:
ValueError: time data '2024-05-26 18:00' does not match format 'YYYY-MM-DD HH:mm'
我使用 DRF 获取 api/reservations/ 的 POST。但 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)