无法让Django翻译为选择字段工作

h3.*_*h3. 8 django

我在模型中使用选择字段,当我使用{{object.get_FIELD_display}}在模板中显示它时,它总是以相同的语言显示..即使它在po文件中被翻译.

这是我的代码的简化版本:

models.py

PRODUCT_WEIGHT_UNIT = (
    ('to', _('ton')),
    ('li', _('pound')),
    ('vg', _(u'vgs³')),
)


class ProduitVrac(models.Model):
    title = models.CharField(_("Title"), max_length=50)
    unit  = models.CharField(max_length=2, choices=PRODUCT_WEIGHT_UNIT) 
Run Code Online (Sandbox Code Playgroud)

模板

<ul>
{% for object in object_list %}
<li>
    <h2>{{ object.title }}</h2>
    {# The following will not be translated .. #}
    {{ object.get_unit_display }}
</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

h3.*_*h3. 10

事实证明我使用的是gettext而不是ugettext_lazy ..它解决了我的问题.