+-
Django Updateview在html中不保存但在admin中保存

我有一个大的形式,一些字段,取决于其他字段值来计算。既然如此,我每次用户完成编辑字段时都会使用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}}或字段指定的错误来检查所有错误。