1

これが私のコードです:

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インスタンスの削除チェックボックスが表示されますが、フォームを送信すると、エントリは編集されるだけで、削除されません。

4

1 に答える 1

3

フォームセットを保存するときは特別なことは何もしていないのでpart_formset.save()、フォームを個別に繰り返す代わりに呼び出すことができます。

于 2012-10-27T14:40:22.587 に答える