2012-10-27 17 views
1

这里是我的代码:Django的inlineformset_factory不删除记录

PartFormSet = inlineformset_factory(ReservationPaper, ReservationPaperPart, 
            ReservationPaperPartEditForm, extra=0) 
if request.method == "POST": 
    try: 
     part_formset = PartFormSet(data=request.POST, instance=rp) 
    except: 
     return HttpResponseRedirect(request.path_info) 
    rp_form = ReservationPaperForm(instance=rp, data=request.POST) 

    if part_formset.is_valid() and rp_form.is_valid(): 
     rp_form.save() 
     for part_form in part_formset.forms: 
      part_form.save() 
     return HttpResponseRedirect(reverse("internal:documents:display_reservation_paper", 
             args=[rp.id])) 
else: 
    rp_form = ReservationPaperForm(instance=rp) 
    part_formset = PartFormSet(instance=rp) 

它呈现删除复选框每个part_formset实例,但是,当我提交表单条目只有编辑,没有删除。

回答

2

当您保存formset时,您没有做任何特别的事情,因此您可以拨打part_formset.save()而不是逐个遍历表单。