我已将模型定义如下
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 )
我为'User'创建了ModelForm,并且使用了一个完美的Form。根据我上面的代码,我总是在我的下拉列表(外键映射)中获得'user_type_name_en'。我想根据语言选项动态更改字段。怎么做?
答案 0 :(得分: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)