Django inlineformset_factory doesn't delete records

*爱你&永不变心* 提交于 2019-12-24 08:12:52

问题


Here is my code:

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)

It renders delete checkboxes for each part_formset instance, however, when I submit the forms entries are only edited, not deleted.


回答1:


You aren't doing anything special when you save the formset, so you can just call part_formset.save() instead of iterating through the forms individually.



来源:https://stackoverflow.com/questions/13100495/django-inlineformset-factory-doesnt-delete-records

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!