首页 > 解决方案 > 尽管在设置中指定了日期格式,但 Django 在运行测试时给了我一个“无效的日期格式”错误

问题描述

我的设置文件有这些设置:

# settings.py
USE_L10N = False
DATE_INPUT_FORMATS = ['%m/%d/%Y']

在我的测试文件中,我正在创建一个需要日期的对象,如下所示:

# tests.py
my_model = Thing(a_date='11/22/2019').save()

但是,当我运行测试时,测试在创建对象并引发错误时卡住了:

django.core.exceptions.ValidationError: ["'11/22/2019' 值的日期格式无效。它必须是 YYYY-MM-DD 格式。"]

有什么我想念的吗?为什么会抛出这个错误?

标签: pythondjangodjango-modelsdatefielddjango-validation

解决方案


您需要设置DATE_INPUT_FORMATS, asDATE_FORMAT设置 Django 显示日期的方式。

更改您的代码:

DATE_INPUT_FORMATS = ['%m/%d/%Y']


推荐阅读