Ошибка : недопустимый литерал для int() с основанием 10: b'20 Feb'
Я работаю с Wagtail и создаю модель приложения.
publish_date = models.DateField(
max_length=300,
blank=True,
null=True,
default="20 Feb",
verbose_name="First publish date",
help_text="This shows the first publish date"
)
Думаю, проблема в том, что тип поля - DateField, но значение, которое я отправляю, - '20 Feb'.
Есть идеи?
Вы не можете использовать строку, DateField требует объект datetime.date. Если вам всегда нужна одна и та же дата, вы можете написать:
import datetime
publish_date = models.DateField(
max_length=300,
blank=True,
null=True,
default=datetime.date(2022, 2, 20), # Or another date
verbose_name="First publish date",
help_text="This shows the first publish date"
)
Если вы хотите, чтобы по умолчанию использовалась текущая дата:
import datetime
publish_date = models.DateField(
max_length=300,
blank=True,
null=True,
default=datetime.date.today,
verbose_name="First publish date",
help_text="This shows the first publish date"
)
Если вы поддерживаете часовые пояса, вам следует использовать django.utils.timezone вместо datetime.