Skip to main content
 首页 » 编程设计

python之在django-transmeta中获取默认语言的字段值

2024年08月30日32java哥

我正在使用 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(这是可选的)