ため
おかげで、あなたはDjangoのadminにあまりを行うにしようとしています。
your other questionを見ると、あなたは自分のビューを書くために必要なツールに慣れています。モデルのモデルフォームを定義します。それらのテンプレートをテンプレートの同じフォームタグに入れます。フォームが有効な場合は、commit=False
で保存し、外部キーを修正します。
Agency
とGallery
を一緒に追加するスケルトンビューです。あなたは簡単に同時に画像のformsetを追加することができます。
def add_agency(request):
if request.method == "POST":
agency_form = AgencyForm(data=request.POST, prefix="agency")
gallery_form = GalleryForm(data=request.POST, prefix="gallery")
if agency_form.is_valid() and gallery_form.is_valid():
gallery = gallery_form.save()
agency = agency_form.save(commit=False)
agency.gallery = gallery
agency.save()
return HttpResponseRedirect(next_url)
else:
# left as an exercise
2段階のフォームが必要な場合は、formwizardをご覧ください。 Djangoの場合はseparate app < = 1.3.X]、Django> = 1.4の場合はincludedです。
https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects – pbm
@pbm外部キーのUIであるためインラインは機能しません* @Asimaは好きではないということを「ギャラリー」に報告した。 – Alasdair
個人的には、あなたはDjangoの管理者であまりにも多くをやろうとしていると思います。あなた自身のビューを作成する必要があるように私に見えますし、あなたが望むすべてのフォームを表示することができます。 – Alasdair