+-
我有一个大的形式,一些字段,取决于其他字段值来计算。既然如此,我每次用户完成编辑字段时都会使用jquery blur来提交表单,并使用新值将其重定向到updateview。
我有这个日子,没有人来测试这个。如果我只是在表单中放入form.day_absent并放入object.amt_absent,它就不会保存表单。但是,如果我输入form.amt_absent,它会保存表单。
这是为什么?我不希望将amt_absent作为可编辑的,它应该只是day_absent。
class PayrollTransactionUpdate(LoginRequiredMixin,UpdateView):
model = t_pay
template_name = 'payroll/transaction/update.html'
fields = [
'day_absent',
'amt_absent',
]
<div id='input-item' class="col-1">
{{ form.day_absent }}
{{ form.day_absent.errors}}
</div>
<div id='item' class="col-2">
{{ object.amt_absent }}
</div>
1
投票
投票
几点:
当您使用{{object.amt_absent}}
时,您不会渲染字段
amt_absent
的表单,而只是数据库中保存的值。 您将
amt_absent
添加为要包含在UpdateView中的字段,因此,除非此字段不需要,否则表单将继续为此字段抛出错误。这就是为什么当您包含两个字段时表单的工作原理。您可以通过在模板中使用
{{form.errors}}
使用
{{form.amt_absent.errors}}
或字段指定的错误来检查所有错误。