2016-10-03 10 views
0

私はboxnumberというフィールドを含む以下のモデルを持っています DALを使用しないときは、verbose_nameとhelp_textが表示され、必要に応じて変換されます。djangoオートコンプリートライトを使用するとVerbose_nameとhelptextが失われる

しかし、DAL(下記のモデルフォームを参照)を追加すると、名前は翻訳されず、ヘルプテキストも表示されません。

提案がありますか?

制御/ models.py:

from django.utils.translation import ugettext_lazy as _ 

class Command(models.Model): 
    .... 
    boxnumber = models.ForeignKey(SmartBox, models.SET_NULL, blank=True, null=True, 
            help_text=_("the Smart Box # on this client"), 
            verbose_name=_('Box-Number') 
           ) 

class CommandForm(ModelForm): 
    class Meta: 
     model = Command 
     fields = [..., 
        'boxnumber', 
        ... ] 


    boxnumber = forms.ModelChoiceField(
     queryset=SmartBox.objects.all(), 
     widget=autocomplete.ModelSelect2(url='control/boxnumber-autocomplete', 
             forward=['group']) 
    ) # adding this removes help_text and verbose_name 

情報: DAL 3.1.8 ジャンゴ1.10.1 Pythonは3.4

答えて

0

これは、DALに固有ではありません。新しいウィジェットクラスを再インスタンス化しているので、help_textとverbose_nameを自分でコピーする必要があります。

+0

だからここで私はこれらを入れてくださいウィジェットコードで? – Yarh

0

あなたは、あなたが言及この

class CommandForm(ModelForm): 
class Meta: 
    model = Command 
    fields = [..., 
       'boxnumber', 
       ... ] 


boxnumber = forms.ModelChoiceField(
    queryset=SmartBox.objects.all(), 
    widget=autocomplete.ModelSelect2(
       url='control/boxnumber-autocomplete', 
       forward=['group'] 
    ) 
    label=_('Box-Number') 
    help_text=_("the Smart Box # on this client") 
) # adding this removes help_text and verbose_name 

のようにそれを「リフレッシュ」を追加する必要があり、DALウィジェットで「デフォルト」ウィジェットを置き換える: https://docs.djangoproject.com/en/1.11/ref/forms/fields/#label https://docs.djangoproject.com/en/1.11/ref/forms/fields/#help-text

関連する問題