に渡されるコンテキストには、結果リストを含むオブジェクトであるオブジェクトに対応するエントリがchange_list.html含まれます。clcontrib.admin.views.main.ChangeList
次のように、結果リストに直接アクセスできます。
{% for object in cl.result_list %}
{{ object.field }}
{% endfor %}
変更リストの結果は、テンプレート タグchange_list_results.htmlを使用してテンプレートの一部としてレンダリングされます。テンプレートには、テンプレートをレンダリングするときに存在するコンテキスト変数もありresult_listます。change_list_results.htmlcl
resultあなたの例でDjangoテンプレートが反復されている場合、事前にレンダリングされたhtmlをresult含むResultListオブジェクトであり、レンダリングされている基礎となるオブジェクトは利用できません。
このレベルでテンプレートをオーバーライドするにはresult_list、各結果に属性として添付された基礎となるオブジェクトを含む結果のリストを返すことができる、独自のタイプ テンプレート タグを実装する必要がある可能性があります。
要するに、次のことが必要になる可能性があります。
result_listDjango の実装に基づいて、独自のテンプレート タグを作成します。事前にレンダリングされたhtmlresultsのリストとしてコンテキストを返すのではなく、html にレンダリングできる両方のオブジェクトを含むオブジェクトと、後でテンプレートで使用するために添付された元の基本オブジェクトを持つ各アイテムを返します。ResultListresults
- テンプレートをオーバーライドして、Django のテンプレート タグ
change_list.htmlではなく、新しいタグを使用します。result_list
- テンプレートをオーバーライドして、
change_list_results.html基になる各オブジェクトの存在など、テンプレート タグから入手できる追加情報を利用します。
お気づきかもしれませんが、管理アプリはレイヤーを介して非常に緊密に統合されています。その操作を変更することは簡単ではなく、ソースの複数の部分で変更とオーバーライドが必要です。