2009-07-30 10 views
7

私は、他のモデルとの1対多の関係を持つ "Person"モデルを持っています。 Personと同じページでこれらのモデルを編集したいのですが、私はすでにインラインで行うことができます。しかし、私はまた、フィールドの順序を変更したい。Django Admin - >インラインフィールドを含むフィールドの順序を変更

は、私が(インライン)フィールド「アドレス」は3番目のリスト内の項目、 しかし

フィールド(「first_nameの」、「last_nameの」、「Adress_Inline」、「国籍」などのためになりたいです... ) 私はこれを受け取ります: PersonAdmin.fields 'はフォームから抜けている' Address_Inline 'フィールドを参照しています。

フィールドの順序を変更し、「通常の」モデルフィールド間の特定のインラインフィールドを取得する方法はありますか?

ありがとうございました!

答えて

0

管理テンプレート(change_form.html)を手動で拡張し、その位置をハードコードする必要があります。 AFAIKでは、インラインフォームセットを親フォームの中央に挿入することはできません。

0

これはjavascriptで行うことができます。テンプレートをオーバーライドし、divタグを追加する必要があります。コピーしたいdivをハードコードし、元のdivを隠す(インラインで)。 私はそれが助けてくれることを願っています。

0

Djangoは管理フォームテンプレートをレンダリングするたびに、インラインフィールドのリストを変数 {{inline_admin_formset}}で利用できます。これを使用して、独自のカスタムchange_form.htmlテンプレートの任意の場所にインラインフィールドを表示できます。

これを行うには、change_form.htmlテンプレートを拡張する必要があります。他の方法はありません。

関連する問題