2

以下のようにモデルを定義しました

class UserType(models.Model):

    user_type_id        = models.AutoField(primary_key=True)
    user_type_name_en   = models.CharField(max_length=15)
    user_type_name_de   = models.CharField(max_length=15)
    user_type_name_fr   = models.CharField(max_length=15)
    status              = models.BooleanField()

    def __unicode__(self):
        return self.user_type_name_en

    class Meta:
        db_table = 'usertype'

class User(models.Model):

    user_id             = models.AutoField(primary_key=True)
    email_id            = models.EmailField( blank=False, null=False)
    user_type           = models.ForeignKey(UserType )

「ユーザー」のModelFormを作成し、完璧に機能するフォームに夢中になりました。上記のコードに従って、ドロップダウン (外部キー マッピング) で常に「user_type_name_en」を取得します。言語オプションに基づいてフィールドを動的に変更したい。どうやってするの?

4

1 に答える 1

0

サイトを多言語化するために Django の方法を使用している場合: https://docs.djangoproject.com/en/dev/topics/i18n/

次のようなことができます:

from django.conf import settings

...

def __unicode__(self):
    return getattr(self, "user_type_name_%s" % settings.LANGUAGE_CODE, self.user_type_name_en)
于 2013-08-21T11:52:34.327 に答える