私は次のフォームを持っています:
from models import MyModel
class MultProgresemosReferenciasForm(forms.Form):
selected = forms.ModelMultipleChoiceField(widget=forms.CheckboxSelectMultiple,
queryset=MyModel.objects.filter(active=True))
これを次のテンプレートで使用します。
<form action="" method="post">
{% for field in form %}
{{ field }}
{% endfor %}
{% csrf_token %}
<input type="submit" value="Submit Selected" />
</form>
次の html をレンダリングします。
<form action="" method="post">
<ul>
<li><label for="id_selected_1"><input type="checkbox" name="selected" value="9" id="id_selected_8" /> prog 1420000930 - pp 0.0078125</label></li>
<li><label for="id_selected_2"><input type="checkbox" name="selected" value="10" id="id_selected_9" /> prog 1420001041 - pp 0.00390625</label></li>
</ul>
<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='csrf_token_hash_string...' /></div>
<input type="submit" value="Submit Selected" />
</form>
ご覧のとおり、テンプレートは各チェックボックスのラベルを取得します (そこに表示される値を持つ 2 つの文字列フィールドを持つモデルから)。
問題は、チェックボックスのこのラベルにアクセスしてカスタマイズするにはどうすればよいですか? 同じモデルの名前を使用しようとしていますが、微調整しています。ジャンゴでこれを達成する簡単な方法はありますか?
field.label を使用しようとしましたが、得られるのは ChoiceField 全体の「選択済み」ラベルだけです。それは私が望むものではありません。生成されたチェックボックスごとにラベルを取得する必要があります...