2012-07-28 64 views
0

我的目標是創建一個顯示多個複選框並允許用戶選擇一個或多個選項的窗體。所有這些選擇都需要翻譯。是否可以翻譯Django ModelMultipleChoiceField?

使用非模型驅動窗體和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. 創建一個夾具和翻譯它(翻譯是這裏的問題)在ModelMultipleChoiceField

回答

1

queryset

  • 使用選擇,你應該翻譯Colors模型。我發給你一個活躍的項目,使得工作變得簡單:django-modeltranslation

    瞭解更多關於這個項目在我的待辦事項列表中。

    另外,請從muhuk.com博客看看Dynamic Translation Apps for Django

  • +0

    這是有幫助的。然而,這增加了更復雜的相當簡單的問題(在我看來)。使用布爾字段而不是ModelMultipleChoiceField更好嗎? – howtodothis 2012-07-29 03:54:16