Django inlineformset_factory不会删除记录 [英] Django inlineformset_factory doesn't delete records

查看:574
本文介绍了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_for呈现删除复选框mset实例,但是,当我提交的表单条目只是编辑,而不是删除。

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

推荐答案

你没有做任何特别的当您保存表单时,您可以调用 part_formset.save()而不是单独迭代表单。

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.

这篇关于Django inlineformset_factory不会删除记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆