{{ form.creator }}
ためDjangoは、このような<select>
タグレンダリングするので、私は、(creator
という名前)フィールドの一つがForeignKey
あるModelForm
を持っている:手動でDjangoのModelFormから選択フィールドを作成するには?
<select id="id_approver" name="approver">
<option selected="selected" value="">---------</option>
<option value="1">hobbes3</option>
<option value="2">tareqmd</option>
<option value="3">bob</option>
<option value="4">sam</option>
<option value="5">jane</option>
</select>
をしかし、私は、私が使用できるようにonchange
イベント属性を追加しますAJAXは後で別のことをする。また、---------
を変更して、何かを言って、そのユーザー名ではなく承認者のフルネームを表示したいと思っています。
可能な承認者のリストを取得し、独自の選択オプションを生成することは可能ですか?種類の
<select id="id_approver" name="approver" onchange="some_ajax_function()">
<option select="selected" value="0">Choose a user</option>
{% for approver in form.approver.all %} <!-- This won't work -->
<option value="{{ approver.pk }}">{{ approver.get_full_name }}</option>
{% endfor %}
</select>
ように、私はまた、承認者のリストの大半は(50以上のように)大きくなりすぎ、その後、私は最終的に承認のために、検索のオートコンプリートフィールドのいくつかの並べ替えをしたいと思っています。だから私は自分自身のHTMLを書く必要があります。
誰がそれを必要とする場合には、私のModelForm
は次のようになります。
class OrderCreateForm(ModelForm) :
class Meta :
model = Order
fields = (
'creator',
'approver',
'work_type',
'comment',
)
:最後に
、あなたはこのような何かを持っている必要があります'creator = MyCustomField(...)'のコード行?あるいは、 'クラスメータ'の下で 'フィールド 'にリストの一部として'作成者'を残していますか? – hobbes3
カスタムフィールドでレンダリングしているので、削除する必要があります。 –
'User'に依存するより複雑な' creator'リストが必要だったので、 '