我的目标是创建一个显示多个复选框并允许用户选择一个或多个选项的表单。所有这些选择都需要翻译。
当使用非模型驱动的表单和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
查询数据库以获得选择,因此我必须首先将数据保存在数据库中。
我可以想出两种解决方案来解决这个问题,但我不确定如何使其发挥作用(可能有一种不同的方法我不知道):
创建一个固定装置并翻译它(翻译是这里的问题)
ModelMultipleChoiceField
中queryset
的使用选择
您应该翻译Colors
模型。我给你发了一个活跃的项目,让工作变得简单:django模型翻译
有关此项目的详细信息,请参阅我的TODO列表。
此外,还可以从muhuk.com博客上查看Django的动态翻译应用程序。