Django выдает ошибку «Недопустимый формат даты» при запуске тестов, несмотря на указание формата даты в настройках - PullRequest
1 голос
/ 17 января 2020

Мой файл настроек имеет следующие настройки:

# 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 'value имеет недопустимый формат даты. Он должен быть в формате ГГГГ-ММ-ДД. "]

Что-то мне не хватает? С чего бы это выбрасывать эту ошибку?

Ответы [ 4 ]

1 голос
/ 17 января 2020

Вам необходимо установить DATE_INPUT_FORMATS, так как DATE_FORMAT устанавливает, как Django отображает дату.

Измените код с помощью:

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

0 голосов
/ 17 января 2020

Насколько я знаю, DATE_INPUT_FORMATS относится к Forms, но не к Models.

(недействительный) билет по той же проблеме был поднят здесь .

0 голосов
/ 17 января 2020

возможно, вам нужно объявление date_input_format читать там и там

0 голосов
/ 17 января 2020

Убедитесь, что для USE_L10N установлено значение FALSE.

(https://docs.djangoproject.com/en/dev/ref/settings/#date -формат )

Также см .: Как изменить по умолчанию Django формат шаблона даты?

...