Как создать поле даты в моделях 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))