フィールドを追加するために、Django ユーザーを拡張しました。私はこの実体をPersonsと名付けました。
フィールドを生成するために ModelForm を使用しています。基本的なフォーム挿入を行っています。フォームを生成すると、User モデルが拡張され、1 対 1 の関係が存在するため、ユーザー名が選択ボックスとして表示されるため、ユーザーは既存のユーザーから選択できます。ただし、私がやりたいのは、ユーザーがフォームに入力してユーザー名を作成することです。
同じ送信で 2 つの別個のフォームを作成する必要がありますか、それともインライン フォームセットを使用できますか? これを解決する最善の方法は何ですか?私は次のように自分のフォームを宣言しています:
def trainer_signup(request):
TrainerFormSet = modelformset_factory(Trainer)
if request.method == 'POST':
formset = TrainerFormSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
# do something.
else:
formset = TrainerFormSet()
return render_to_response("forms.html", {
"formset": formset,
})