私の目標は、複数のチェックボックスを表示し、ユーザーが1つ以上の選択肢を選択できるフォームを作成することです。これらの選択肢はすべて翻訳する必要があります。
モデル駆動型ではないフォームを使用している間、CHOICES
それは期待どおりに機能します。
COLOR_CHOICES = (
(1, _('Red')),
(2, _('Black')),
)
私のフォームはモデルベースなので、MultipleChoiceField
を使用する必要がありますModelMultipleChoiceField
。
colors = forms.ModelMultipleChoiceField(
queryset=Colors.objects, # <- This needs to exist in the database so can't use CHOICES
widget=forms.CheckboxSelectMultiple(),
required=False
)
ModelMultipleChoiceField
選択肢を取得するためにデータベースにクエリを実行するので、最初にデータベースにデータを保存する必要があります。
私はこの問題の2つの解決策を考えることができますが、それを機能させる方法がわかりません(おそらく私が知らない別のアプローチがあります):
フィクスチャを作成して変換します(ここでは変換が問題になります)
の選択肢を使用
queryset
するModelMultipleChoiceField