2013-08-21 98 views
2

我已經定義了模型,像下面的Django的ModelForm多語種

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'(外鍵映射)。我想根據語言選項動態更改字段。怎麼做?

回答

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)