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 回答