django - Django Updateview 在 html 中不保存但在管理员中保存
问题描述
我有一个很大的表格,一些字段,取决于要计算的其他字段值。因此,每次用户完成编辑字段并使用新值将其重定向到 updateview 时,我都使用 jquery blur 提交表单。
我有这个 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>
解决方案
几点:
使用时
{{object.amt_absent}}
,您不会呈现字段的表单amt_absent
,而只是呈现数据库中保存的值。您添加
amt_absent
为要包含在 UpdateView 中的字段,因此,除非不需要此字段,否则表单将继续为该字段抛出错误。这就是当您包含这两个字段时您的表单有效的原因。您可以通过在模板中使用{{form.errors}}
或字段指定的错误来检查所有错误。{{form.amt_absent.errors}}
推荐阅读
- java - 如果在 CloudSim Plus 中过载,如何添加多个 VM?
- r - 在 mutate() 之外以逐行方式使用 purrr::pmap()
- javascript - 为使用 React 的网站制作 Chrome 扩展。重新渲染后如何保持更改?
- c# - .NET Core API 文档
- azure - Azure CosmosDb 仅创建分区
- scala - 将 Kibana 中字段的映射从 String 更改为 Double
- javascript - gatsby-source-stripe 开发错误
- ios - OpenTok - iOS 上的骑行相机会降低视频质量
- java - 使用 Java 处理 html 日期输入
- excel - Excel VBA/公式查找包含搜索词的单元格?