我有一个很大的形式,一些字段,取决于其他字段的值来计算。 从那时起,每当用户完成字段编辑后,我都会使用jquery blur提交表单,然后使用新值将其重定向到updateview。
我有这个day_absent,并且没有多少可以测试。 如果我只是将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>
答案 0 :(得分:1)
点对:
使用{{object.amt_absent}}
时,不是呈现字段amt_absent
的表单,而是呈现保存在数据库中的值。
您添加了amt_absent
作为要包含在UpdateView中的字段,因此,直到并且除非不需要该字段,否则表单将继续为此字段抛出错误。这就是为什么当您同时包含两个字段时您的表单可以工作的原因。您可以使用{{form.errors}}
检查所有错误,也可以使用模板中的{{form.amt_absent.errors}}
检查字段指定的错误。