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. "]
For this model:
class ModelA(models.Model): date1 = models.DateField(null=True) date2 = models.DateField(null=True)
How can I set the DateField format to be
"input_formats" is not recognized.
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.
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
input_formats is a
forms.DateField option, not a
model.DateField option. You have to set it in your form, not in your models.
You could also use the LANGUAGE_CODE to get the correct date formate for the local.
DATE_INPUT_FORMATS = ['%d-%m-%Y', '%Y-%m-%d'] in the
settings.py which can be called when needed at anytime.
date_birth = forms.DateField(label="Date of birth", widget=forms.SelectDateWidget(years=YEAR_CHOICES, input_formats= DATE_INPUT_FORMATS))