0

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

在使用非模型驱动形式时,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选项ModelMultipleChoiceField

4

1 回答 1

1

你应该翻译Colors模型。我向您发送一个使工作变得容易的活动项目: django-modeltranslation

了解更多关于这个项目的信息在我的 TODO 列表中。

另外,请查看muhuk.com 博客中的 Django 动态翻译应用程序。

于 2012-07-28T18:55:04.320 回答