1

次のようなドロップダウン項目を作成するフォームを定義したいと思います:

How many children do you have?
0
1
2
3
4
5
more than 5

単なるデータ範囲については、次のようにすることができます。

children = forms.ChoiceField((str(x), x) for x in range(0,5))

しかし、最後のオプションをフォームに追加するにはどうすればよいでしょうか?

4

1 に答える 1

1

複数のステップで 2 タプルのリストを作成できます。次のようなことができます

choices = [(x, str(x)) for x in range(0, 5)]
choices.append((6, 'more than 5'))
children = forms.ChoiceField(choices)

質問へのコメントのように、モデルがどのように表現されているかはわかりませんが、この例では int を格納しており、6 は 5+ を表しています。タプルの最初の部分は、モデルの表現方法に合わせて変更できます。

于 2013-10-17T18:25:48.950 に答える