如何传递Django Forms.SplitDateTimeField的值?

时间:2019-05-23 15:08:58

标签: python django python-3.x django-forms

我正在尝试为Django表单的SplitDateTime字段传递值。但它一直显示我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 个答案:

答案 0 :(得分:1)

显然,在查看为该字段生成的HTML时,Django期望每个元素分别为a_0a_1。这样就可以了:

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