2

インライン formSet を使用してレコードを作成しようとしていますが、同時に、主キーインライン formSet の外部キーである通常のフォームでレコードを同じ HTML ページ上に作成しようとしています。

わかる?これが私が言いたいことです: 次の 2 つのモデルがあるとします (明らかに実際のコードではありませんが、アイデアはわかります)。

Class mainModel
    Primary Key (custom pk I create)
    field1
    field2

Class inlineFormModel
    autoPK
    field1 = ForeignKey(mainModel)
    field2

mainModelここで、ユーザーが多数のインスタンスを作成すると同時にインスタンスを作成できるように、ユーザー用の単一の HTML ページを作成したいと考えていinlineFormModelます。が inlineFormsets を使用してmainModelいる間は、通常のフォームになります。inlineFormModel問題は、すべてのフォームを保存すると、参照するモデルがまだ作成されているため、インラインの formSet レコードにリンクするforeignKeyがないことです(すべてが同じビューに保存されます)。それは理にかなっていますか?

mainModel複数のsecondModelインスタンスを持つ新しいインスタンスを作成し、バッチ全体をすべて同じビュー関数で保存するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

3

これは一般的なシナリオです。ドキュメントで取り上げられていない理由はわかりません。

    initial_form = mainModelForm(request.POST)
    if initial_form.is_valid():
        form= initial_form.save(commit=False)
        my_formset = inline_formset(request.POST,instance=form)
        if my_formset.is_valid():
           form.save()
           my_formset.save()
.......  .........
# return codes here
于 2011-06-12T15:54:56.153 に答える