我正在使用 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
请您参考如下方法:
您好,我是 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(这是可选的)
