如何使用 Django 验证器将日期限制为 1900 或更大

Tor*_*ups 5 python django

我发现这个显示模式的提交_datere现在需要一个 > 1900 的日期,但是......当我今天查看时,django.core.validators我没有看到类似的东西(上面链接的提交确实说它是 7 年前的)。

Django 中的这种验证发生了什么?人们今天在 Django 1.4.1 中使用什么来获得这种类型的验证?

我问这个是因为 strftime 错误:

"ValueError('year=1800 is before 1900; the datetime strftime() methods require year >= 1900',)"
Run Code Online (Sandbox Code Playgroud)

谢谢你!

Chr*_*att 6

@SimeonVisser 很好地解释了您过去遇到此异常的原因以及您不再这样做的原因。

如果仍然希望将大于 1900 的日期作为业务逻辑而不是实际的固有限制,您应该能够使用内置的 Django MinValueValidator。只需输入 1900-01-01 的日期/日期时间即可,即

validators=[MinValueValidator(datetime(1900, 1, 1, 0, 0))]
Run Code Online (Sandbox Code Playgroud)