私のフォームにはリクエスト変数からのデータが必要ですrequest.LANGUAGE_CODE
が、forms.pyファイルにはリクエスト変数を取得する方法がありません。
「set_languageリダイレクトビュー」を使用して言語を設定しましたが、正常に機能しますが、フォームの選択ドロップダウンをランダムに生成する必要があり、djangoで使用するlanguage_codeを取得できません。
以下のtranslation.get_language()
コードスニペットで使用されているのは、「en-us」のみを返しますが、すべての言語に対してです。
class C21Form(ModelForm):
principal_procedure_code= forms.ModelChoiceField(label=_('BlaBla'), queryset=diagCode.objects.filter(language=translation.get_language()))
アップデート:
forms.py
class C21Form(ModelForm):
principal_procedure_code= forms.ModelChoiceField(label=_('BlaBla'), queryset=diagCode.objects.filter(language=language_code))
def __init__(self, language_code=None, *args, **kwargs):
self.language_code = language_code
super(C21Form, self).__init__(*args, **kwargs)
views.py
form = C21Form(request.LANGUAGE_CODE, request.POST)