python - 如何为 django forms.SplitDateTimeField 传递值?
问题描述
我正在尝试为 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
错误?还是我错过了什么?
解决方案
显然,查看为该字段生成的 HTML,Django 期望每个元素分别为a_0
和a_1
. 所以这会起作用:
>>> f = F(data={'a_0': '2020-04-04', 'a_1': '12:12'})
推荐阅读
- regex - Regex for name type
- ruby-on-rails - Rails ActiveRecord::AssociationTypeMismatch
- amazon-cloudformation - 使用 cloudwatch 的 AWS ecs 计划任务
- drake - child class of leafsystem generating sinusoidal signal
- r - How to insert vertical lines along my scatter plots for specific x-intercept where the values in my variable contains argument "-01-01"
- time-complexity - int multiplyRec(int m, int n){ if(n == 1) return m; 的复杂度是多少?返回 m + multiplyRec(m, n - 1); }
- git - AWS codecommit not able to clone repo completely
- python - Optimize Sum of Squared Differences (SSD) in numpy
- reactjs - 在 React 中确定路线的正确方法是什么?
- c# - 在单个程序集中向开发人员隐藏实现细节