python - 尽管在设置中指定了日期格式,但 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 格式。"]
有什么我想念的吗?为什么会抛出这个错误?
解决方案
您需要设置DATE_INPUT_FORMATS
, asDATE_FORMAT
设置 Django 显示日期的方式。
更改您的代码:
DATE_INPUT_FORMATS = ['%m/%d/%Y']
推荐阅读
- docker - 如何在烧瓶 UI 上持续显示实时 Kubernetes pod 日志?
- mongodb - MongoDB 批量获取 DataLoader
- android - Retrofit 中的 API 接口是什么
- python - 如何使用 GridSearchCV (python) 最大化或最小化带参数的函数?
- c# - 如何安全地处理使用 await foreach 检索到的 IAsyncDisposable 对象?
- ajax - Symfony:如何在不是实体的表中获取数据
- python - 创建熊猫数据框会产生巨大的系列
- google-bigquery - 如何在 google bigquery 中设置作业依赖项?
- reactjs - React,如何在不重绘的情况下更新状态,或者如何在没有 useState(和 useRef)的情况下触发 useEffect,或者如何停止无限循环
- reactjs - LAMP Droplet 上的 MERN 堆栈 (DigitalOcean)