フォームフィールドの値に基づいてDjangoの管理画面でフォームの表示をカスタマイズするにはどうすればよいですか?たとえば、デフォルト値が「0」のフィールドがあります。フィールドがゼロ以外の値に設定されている場合は、フォームに追加の「編集」リンクを表示して、別のページにリンクして、関連するモデルに関連する他のフィールドを編集できるようにします。私はadminのフォームテンプレートをカスタマイズする方法を見つけましたが、テンプレートにif/elseステートメントを追加するために、フォームフィールドの実際の値にアクセスする方法を見つけることができません。値に基づいて管理者のDjangoフォームフィールドをカスタマイズする
ソースコードを掘り下げようとしましたが、フィールドインスタンスをdjango.contrib.admin.AdminField.field->django.forms.BoundField
にトレースしましたが、BoundFieldのフィールドとデータ属性を表示しても、デフォルトのフォームフィールドウィジェットマークアップに格納されている値は表示されません。テンプレート内の特定のフィールドのデータ値にアクセスするにはどうすればいいですか?次のようなことができますか?
{% for fieldset in inline_admin_form %}
{% for line in fieldset %}
{% for field in line %}
{{field.field}} {% if field.field.value != 0 %}<a href="/some/path/to/model/{{field.value}}">Edit</a>{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}