Как создать поле даты в моделях django в формате (mm-dd-yyy)

Я собираю даты с различных сайтов, и они имеют формат mm-dd-yyyy, т.е. 10-28-2021. Сейчас я храню их в виде строки.

В моделях django я создал поле следующим образом:

issued = models.CharField(max_length=16)

Это сохраняет дату как строку.

Но я хочу преобразовать в поле даты.

Когда я пытался,

issued = models.DateField()

Я не могу хранить дату в этом поле.

Как добавить дату в определенном формате в поле выше?

Вы можете изменить формат ввода даты в settings.py следующим образом:

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

Вот официальная документация по Django: link

Преобразуйте строку в объект Date time с помощью strptime,

from datetime import datetime    
date_time_str = '10-28-2021'

date1 = datetime.strptime(date_time_str, "%m-%d-%Y")
print(date1)

EDIT1 : Если вы хотите без времени,

from datetime import datetime    
date_time_str = '10-28-2021'

date1 = datetime.strptime(date_time_str, "%m-%d-%Y").date()
print(type(date1))
Вернуться на верх