我的目标是创建一个显示多个复选框的表单,并允许用户选择一个或多个选项。所有这些选择都需要翻译。
使用非模型驱动表单和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
查询数据库以获取选择,因此我必须首先在数据库中获取数据。
我可以想到两个解决这个问题的方法,但我不确定如何使它工作(可能有一种我不知道的不同方法):
创建一个夹具并进行翻译(翻译是这里的问题)
使用queryset
ModelMultipleChoiceField
的选项
醇>
答案 0 :(得分:1)
您应该翻译Colors
模型。我向您发送了一个活跃的项目,让您轻松完成工作:django-modeltranslation
了解有关此项目的更多信息,请参阅我的TODO列表。
另外,请访问muhuk.com博客中的Dynamic Translation Apps for Django。