如何在将其保存到数据库之前捕获并使用输入到我的formset(在模板上)的特定字段的数据?
我可以通过.save(commit = False)获取“小时”值,因为值没有改变,但我如何捕获更改的值(例如,用户输入后来自formset.work_amount的数据) ?
编辑2。我忘了提到我正在使用模型formset
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/")
答案 0 :(得分:1)
这个问题没有多大意义:一个formset包含多个表单,因此你将拥有work_amount的多个值。您从formset中的每个表单的cleaned_data
dict获取每个值,因此您可以获得所有work_amount值:
[form.cleaned_data['work_amount'] for form in formset]