2011-11-15 3 views
0

をオブジェクトに関連していますと一緒にオブジェクトを追加します、私はこれらの事を持っている:は、私はこれらのモデルを持っているそれはDjangoのadminに同じ形式で

HeadImageGalleryモデル内のフィールドと ImageモデルでImageフィールドのファイルアップロードのセットのためのファイルアップロード。オブジェクト(代理店)に関連するオブジェクト(代理店に関連するギャラリーとギャラリーに関連する画像)を1つの形式で追加するようなものもあります。これどうやってするの?私はたくさんのグーグル・グーグルで解決策を見いださなかった。それはひどい問題だと思う。

編集: グアラエリーには画像のセットが保存され、代理店は同じフォームに保存されています。私は上記のコメントで述べたように任意のヘルプ

+1

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#inlinemodeladmin-objects – pbm

+0

@pbm外部キーのUIであるためインラインは機能しません* @Asimaは好きではないということを「ギャラリー」に報告した。 – Alasdair

+1

個人的には、あなたはDjangoの管理者であまりにも多くをやろうとしていると思います。あなた自身のビューを作成する必要があるように私に見えますし、あなたが望むすべてのフォームを表示することができます。 – Alasdair

答えて

1

ため

おかげで、あなたはDjangoのadminにあまりを行うにしようとしています。

your other questionを見ると、あなたは自分のビューを書くために必要なツールに慣れています。モデルのモデルフォームを定義します。それらのテンプレートをテンプレートの同じフォームタグに入れます。フォームが有効な場合は、commit=Falseで保存し、外部キーを修正します。

AgencyGalleryを一緒に追加するスケルトンビューです。あなたは簡単に同時に画像の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です。

+0

私は自分自身のビューを作成しましたが、今は問題は他の管理フォームと違い、変更リストがなく、ホームページにリンクを追加したり変更したりしないということです。私はテーマを実装できますか? –

+1

'ModelAdmin.add_view()'、 'ModelAdmin.change_view()'または 'ModelAdmin.get_urls()'フックを使用して、ビューを管理者に統合することができます。詳細については、[admin docs](https://docs.djangoproject.com/en/dev/ref/contrib/admin)を参照してください。 – Alasdair

+0

まずは、私はあなたの助けのためにUに感謝します。多くの場合、HeadImageのフィールドを追加し、AgencyModelAdminにImageのフォームセットを追加し、Gallery、Images、Agencyを一度に保存するsaveメソッドをオーバーライドすると、自分のビューと私は管理施設を失うことはありません。しかし、別のフォームやフォームセットを余分なフィールドのようにモデル管理者に追加することが可能かどうかはまだ分かりません。それは可能ですか? –

関連する問題