Как передать значение для django форм. SplitDateTimeField? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь передать значение для поля SplitDateTime формы django. Но он продолжает показывать мне This field is required ошибка.

>>> from django import forms
>>> class F(forms.Form):
...     a = forms.SplitDateTimeField()
... 
>>> f = F(data={'a': ['2020-04-04', '12:12']})
>>> f.is_valid()
False
>>> f.errors
{'a': ['This field is required.']}

где при передаче того же значения методу clean объекта SplitDateTime это работает.

>>> b = forms.SplitDateTimeField()
>>> b.clean(['2020-04-04', '12:12'])
datetime.datetime(2020, 4, 4, 12, 12, tzinfo=<UTC>)
>>> 

Есть ли способ преодолеть ошибку формы field required? или я что-то пропустил?

1 Ответ

1 голос
/ 23 мая 2019

Видимо, глядя на сгенерированный HTML для поля, Django ожидает каждый элемент отдельно, как a_0 и a_1. Так что это будет работать:

>>> f = F(data={'a_0': '2020-04-04', 'a_1': '12:12'})
...