是否可以翻译Django ModelMultipleChoiceField?

时间:2012-07-28 16:23:58

标签: django django-models django-forms django-views

我的目标是创建一个显示多个复选框的表单,并允许用户选择一个或多个选项。所有这些选择都需要翻译。

使用非模型驱动表单和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查询数据库以获取选择,因此我必须首先在数据库中获取数据。

我可以想到两个解决这个问题的方法,但我不确定如何使它工作(可能有一种我不知道的不同方法):

  1. 创建一个夹具并进行翻译(翻译是这里的问题)

  2. 使用queryset

  3. ModelMultipleChoiceField的选项

1 个答案:

答案 0 :(得分:1)

您应该翻译Colors模型。我向您发送了一个活跃的项目,让您轻松完成工作:django-modeltranslation

了解有关此项目的更多信息,请参阅我的TODO列表。

另外,请访问muhuk.com博客中的Dynamic Translation Apps for Django