Виджет DateTimeInput() помещает случайную букву T между датой и временем, вызывая ошибку ValidationError
У меня есть поле datetime, в которое я ввожу данные, используя следующее поле формы:
delivery_pickup = forms.DateTimeField(label = "Delivery or Pickup Appointment",
required = False,
widget=forms.DateTimeInput(attrs={'type':'datetime-local'}))
Красивый маленький виджет datetime появляется автоматически благодаря объявлению атрибута type. Проблема в том, что когда я пытаюсь отправить данные с помощью виджета, я получаю ошибку, а когда я удаляю виджет и смотрю на вход как на простую строку, она включает случайную букву T между датой и временем, как показано ниже: 2021-09-26T13:17
Удаление T вручную приводит к исчезновению ошибки. Каков наилучший способ удаления буквы T? Форматировать ли строку в поле ввода? Создать чистый метод? Какая-то другая техника? Любая помощь будет принята с благодарностью.
Это решение решило проблему: Django datetime not validating right
class MyIdealDateForm(forms.ModelForm):
start = forms.DateTimeField(
input_formats = ['%Y-%m-%dT%H:%M'],
widget = forms.DateTimeInput(
attrs={
'type': 'datetime-local',
'class': 'form-control'},
format='%Y-%m-%dT%H:%M')
)
По сути, аргументы input_formats внутри поля и format внутри виджета должны были совпадать, прежде чем форма могла быть проверена... Теперь мне нужно вернуть последние несколько часов жизни