我创建了一个更新表单,该表单有2个时间字段和2个日期时间字段,一旦点击提交,即使没有任何变化,我得到了一个错误“'datetime.datetime'对象没有属性'strip'”。但在为同一模型创建新对象时没有错误。modles:
time_start=models.DateTimeField(blank=True,null=True)
htime_start=models.TimeField(blank=True,null=True)
time_end = models.DateTimeField(blank=True, null=True)
htime_end=models.TimeField(blank=True,null=True)
time_require=models.DateTimeField(blank=True,null=True)
machine=models.ForeignKey(Machine,null=True, on_delete=models.SET_NULL, blank=True)
表格:
class AssignTimeForProjects(forms.ModelForm):
title = forms.CharField(disabled=True)
owner=forms.CharField(disabled=True)
time_require=forms.TimeField(disabled=True)
class Meta:
model = tb_order
# fields='__all__'
fields = ['title', 'owner', 'grade', 'quantity',
'time_require','htime_start','color',
'mould','time_start','time_end', 'htime_end' ,'machine']
def __init__(self, *args, **kwargs):
super(AssignTimeForProjects, self).__init__(*args, **kwargs)
self.fields["time_end"] = JalaliDateField(label=('تاریخ اتمام'), widget=(AdminJalaliDateWidget))
self.fields["time_start"] = JalaliDateField(label=('تاریخ شروع'), widget=(AdminJalaliDateWidget))
HTML:
<label>{{ form.htime_start.label}}</label>
{% render_field form.htime_start type="time" class+="form-control timepicker" autocomplete="off" %}
<br>
<label>{{ form.time_end.label}}</label>
{% render_field form.time_end class+="form-control" autocomplete="off" %}
<br>
<label>{{ form.htime_end.label}}</label>
{% render_field form.htime_end type="time" class+="form-control" autocomplete="off" %}
1条答案
按热度按时间anauzrmj1#
我不确定您的
render_field
模板标记的作用,但是如果它需要str
作为输入,这可以解释为什么它要查找strip
属性。我还注意到form.time_end
是唯一没有type="time"
的字段,我不确定这是不是有意的。我同意Bartosz的评论,错误跟踪会很有帮助