ValidationError: ["'\n- 9 июля 2022\n' значение имеет неправильный формат даты. Оно должно быть в формате YYYY-MM-DD. Есть ли способ изменить формат даты?

Я просматриваю веб-сайт в поисках данных для включения в мой проект, и при получении даты она приходит в формате мм-дд-гггг, например "9 июля 2022 г.". Есть ли способ обойти это и избежать ошибки?

for test_job in final_jobs:    
    newjob = Jobs.objects.create(
        title = test_job['title'],
        location = test_job['location'],
        date_posted = test_job['date_posted'],
        closing_date = test_job['closing_date'],
        )

ошибка:

ValidationError: ["'\n- 9 июля 2022\n' значение имеет неверный формат даты. Оно должно быть в формате YYYY-MM-DD.

".

Вы можете использовать функцию strptime для преобразования даты в объект даты, который Django с радостью примет

Для получения дополнительной информации смотрите эти 2 раздела документации по Python:
https://docs.python.org/3/library/datetime.html#datetime.datetime.strptime
https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior

В данном случае кажется, что можно просто сделать

date_posted = datetime.strptime(test_job['date_posted'], "\n- %B %d, %Y\n")
closing_date = datetime.strptime(test_job['closing_date'], "\n- %B %d, %Y\n")

однако может потребоваться дополнительная обработка строк, если формат каждый раз незначительно отклоняется

вы можете изменить настройки в настройках смотрите здесь https://docs.djangoproject.com/fr/4.0/ref/settings/#date-format

Вернуться на верх