python - 如何从模板获取字段数据并在添加到数据库之前使用它?

标签 python django

在将其保存到数据库之前,如何捕获和使用输入到我的表单集(在模板上)中的特定字段的数据?

我可以通过 .save(commit=False) 获取“小时”值,因为该值没有更改,但如何捕获更改的值(例如,用户输入后来自 formset.work_amount 的数据) ?

编辑 2。我忘了提及我正在使用模型表单集

AuthorFormSet = modelformset_factory(CalendGraph, fields=('project_name','work_name','work_amount','unit_name','employee_name','hours','days','approve_need','approve_time','calendar_start','calendar_end',),extra =1, can_delete=True)
    if request.method == 'POST':
        formset = AuthorFormSet(request.POST, request.FILES)
        new_formset= formset.save(commit=False)
        if formset.is_valid():
            worka = int(request.POST.get('work_amount') #wrong, how can i get the work amount data from formset?
            new_formset.hours= worka*8
            new_formset.save()

            return HttpResponseRedirect("/calend-graph-1/")

最佳答案

这个问题不太有意义:表单集包含多个表单,因此您将有多个 work_amount 值。您可以从表单集中每个表单的 cleaned_data 字典中获取每个值,因此您可以通过以下方式获取所有 work_amount 值:

[form.cleaned_data['work_amount'] for form in formset]

关于python - 如何从模板获取字段数据并在添加到数据库之前使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30513669/

相关文章:

python - Django/重复键值违反唯一约束

python - 如何配置将 json 对象发送到 Django Channels?

python - 我无法导入任何 python 模块,也无法使用 pip 安装任何模块

python - 如果使用很长的字符串作为键,在 Dict 中搜索的时间复杂度是多少?

python - 使用python根据特殊字符将1个字符串分成2个字符串

python - 多次导入模块

python - Django 编码/解码问题

python - 循环发送多个 Pandas DataFrames .to_csv()

jquery - 在 Django 中使用 AJAX/jQuery 删除对象

django - django 1.8无法执行django.db.utils.ProgrammingError:关系“auth_user”不存在