2015-06-18 1 views
7

Я создаю приложение Джанго и у меня есть следующая проблема: отображаются эта ошибка, когда я хочу, чтобы установить дату:Как установить формат DateField в django из модели?

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.

Опция "input_formats" не признана.

Спасибо!

ответ

7

В settings.py установлен DATE_INPUT_FORMATS, как показано ниже:

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

И в вашей форме вы могли бы сделать что-то, как показано ниже:

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

Это будет работать, только если 'USE_L10N' является False. Вам также может потребоваться установить параметр DATE_FORMAT, используемый при печати даты в шаблонах. – Dric512

+1

Невозможно установить из модели. Это относится только к Форме. –

12

input_formats является forms.DateField option, а не model.DateField вариант. Вы должны установить его в своей форме, а не в своих моделях.

+0

Для создания моделей я использую общие взгляды. Как я могу изменить способ форматирования даты из модели? – BigMonkey89WithaLeg

Смежные вопросы