У меня есть форма со следующим полем даты и времени:
Forms.py
class FormBacktest(forms.Form):
dateStart = forms.DateTimeField(label="Date Start")
def to_python(self, dateStart):
return serialize_datetime(dateStart)
Когда пользователь отправляет форму, dateStart
является строка, имеющая следующее значение: 12 January, 2020
. Я хочу сериализовать поле на стороне сервера перед проверкой, чтобы получить datetime.datetime(2020, 01, 12, 0, 0, 0, 0)
. Для этого я нашел в документации, что метод save_<Field>
не будет работать, так как он выполняется после all_clean_data
.
Я также мог бы использовать метод to_python
, но это не совсем то, что я искал:
Этот метод принимает необработанное значение из виджета и возвращает преобразованный значение.
Несмотря на это, я пытался использовать его, но функция никогда не вызывается. Мой взгляд выглядит следующим образом:
Views.py
def view(request):
if request.method == "POST":
backtestForm = FormBacktest(request.POST)
if backtestForm.is_valid():
# blabla
Какова наилучшая стратегия обработки данных перед проверкой?