在将其保存到数据库之前,如何捕获和使用输入到我的表单集(在模板上)中的特定字段的数据?
我可以通过 .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/