0
に変更していますので、以前に行った設定に従ってデフォルトの言語を変更しようとしています。私の問題は、関数呼び出しの値が '英語'または 'スペイン語'ですが、実際に動作させるには 'en'や 'esp'のような短い用語が必要です。私はそれを実行しようとしようとしたとき、私はまた、このエラーメッセージを持っている:userlang()は正確に(与えられた0)1つの引数を取るので、ここではデフォルトの機能をdjango
は、私が試したものです:
def userlang(self):
return (self.user.userprofile.language)
class 123(models.Model
language = models.CharField(verbose_name=_(u"Language"),
max_length=4, choices=settings.LANGUAGES,default=userlang)
私は誰かが私を助けることを願ってでる。
これは私が最初に試したものですが、userlangが定義されていないため動作しません。名前は元のものではありませんが、私は投稿のために変更しましたが、ありがとうございます:) – hansTheFranz
'user'関数から' self'パラメータを削除してください。もちろん、内部で 'self'を参照しているので、これはうまくいきません。これを回避するには、 'default'を削除するか(または' LANGUAGES'の選択肢からそれを保持して)、 '' save']を上書きします(https://docs.djangoproject.com/ja/1.10/) topics/db/models /#overriding-model-methods)メソッドを呼び出し、そこに値を設定します。 –