如何从模型中在 django 中设置 DateField 格式?

2022-01-15 00:00:00 python django format datefield

问题描述

我正在创建一个 django 应用程序,但我遇到了下一个问题:当我想设置日期时会显示此错误:

I am creating a django application and I have the next problem: this error is shown when I want to set a date:

ValidationError [u"'12/06/2012' value has an invalid date format. It must be in YYYY-MM-DD format."]

对于这个模型:

class ModelA(models.Model):

    date1 = models.DateField(null=True)
    date2 = models.DateField(null=True)

如何将 DateField 格式设置为 %m/%d/%Y.

How can I set the DateField format to be %m/%d/%Y.

选项input_formats"无法识别.

谢谢!


解决方案

正如@bruno 在他的回答中提到的, input_formats 是一个表单字段,但是它可以用来控制保存的日期格式来自模型.

As @bruno as mentioned in his answer, input_formats is a forms field, however it can be used to control the date format saved from the model.

settings.py 中设置 DATE_INPUT_FORMATS 如下:

In settings.py set DATE_INPUT_FORMATS as below:

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

在您的表单中,您可以执行以下操作:

And in your form you could do something like below:

class ClientDetailsForm(ModelForm):
    date_of_birth = DateField(input_formats=settings.DATE_INPUT_FORMATS)
    class Meta:
       model = ModelA

相关文章