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

时间:2015-05-28 17:48:05

标签: python django

如何在将其保存到数据库之前捕获并使用输入到我的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/")

1 个答案:

答案 0 :(得分:1)

这个问题没有多大意义:一个formset包含多个表单,因此你将拥有work_amount的多个值。您从formset中的每个表单的cleaned_data dict获取每个值,因此您可以获得所有work_amount值:

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