0

私の目標は、複数のチェックボックスを表示し、ユーザーが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つの解決策を考えることができますが、それを機能させる方法がわかりません(おそらく私が知らない別のアプローチがあります):

  1. フィクスチャを作成して変換します(ここでは変換が問題になります)

  2. の選択肢を使用querysetするModelMultipleChoiceField

4

1 に答える 1

1

Colorsモデルを翻訳する必要があります。仕事を簡単にするアクティブなプロジェクトをお送りします: django-modeltranslation

このプロジェクトの詳細については、私のTODOリストをご覧ください。

また、muhuk.comブログからDjango用の動的翻訳アプリをご覧ください。

于 2012-07-28T18:55:04.320 に答える