0

django で設定された動的フォームを使用する必要があります。そのために、django formset を使用しました。それは完全に機能します。今、このフォームに編集オプションを与える必要があります。そのため、以前に追加したデータをフォーム セットに表示する必要があります。そのために、次のコードを書きました。ただし、以前に追加されたデータは表示されません。データがあっても空のフォーム セットのみを表示する

if action == 'edit':
        teaching_module = TeachingModule.objects.get(id=
                                                  request.GET.get('id'))
        form = TeachingModuleForm(instance=teaching_module)

        teaching_module = TeachingModule.objects.get(id=request.GET.get('id'))
        factory = modelformset_factory(TeachingModuleSegment, form = TeachingModuleSegmentForm)
        qset = TeachingModuleSegment.objects.filter(teachingModule=teaching_module)
        formset = factory(queryset=qset)

        data = {'form': form,
                'formset': formset}

        return render(request, 'add_teaching_modules.html', data)
4

1 に答える 1

0

私が理解しているように、外部キーを介してリンクされたモデルのすべてのインスタンスを編集したいのですが、この目的のために InlineFormsets とinlineformset_factory

インライン フォームセットは、モデル フォームセットの上にある小さな抽象化レイヤーです。これらは、外部キーを介して関連オブジェクトを操作するケースを簡素化します。

代わりにそれらを試してください

于 2013-10-23T10:20:48.717 に答える