2011-11-28 73 views
2

我正在使用django-transmeta来帮助我的多语言模型。这里是我的示例模型:在django-transmeta中获取默认语言字段的值

class Edition(models.Model): 

    __metaclass__ = TransMeta 

    name = models.CharField(max_length=64) 

谁能告诉我怎么可以在默认语言得到name字段的值。我想重写模型的__unicode__方法,这样我可以显示一个有意义的标题。目前它显示为Edition Object,并不是很有帮助。

谢谢。


编辑:我设法做到这一点,但这依赖于语言代码硬编码的事实。

class Edition(models.Model): 

    __metaclass__ = TransMeta 

    name = models.CharField(max_length=64) 

def __unicode__(self): 

    return self.name_en 

回答

2

嗨,我是django-transmeta的开发者。对于每个国际化字段,您都有一个名称为field original的属性。

edition = Edition.objects.all()[0] 
print edition.name 
print edition.name_en 
print edition.name == edition.name_en 

如果它不工作,你应该检查你的设置LANGUAGE_CODE和TRANSMETA_DEFAULT_LANGUAGE(可选的)