在 Django admin 中显示属性 - 翻译它们的名称

ken*_*der 2 django django-models django-admin

在我的 Django 应用程序中,我的模型将一些值设置为属性 - 它们是根据其他值(例如其他对象字段的最小值等)根据需要计算的。这非常有效,因为我不需要将它们存储在数据库中,并且计算可能会很昂贵,因此它们被缓存。

所以我有一个模型:

class A(models.Model):
    name = models.TextField(_('Name'))

    def max_of_some_values(self):
        # calculate it here, with caching,etc
        return 1
    max_value = property(max_of_some_values)
Run Code Online (Sandbox Code Playgroud)

当我在管理应用程序中显示此内容时,在对象列表上,该name列将使用其翻译来显示。所以波兰语是Nazwa,英语是Name,等等。

同时,我找不到为我的财产添加翻译的“列”名称的方法。

以前有人处理过这个吗?

Dan*_*man 5

short_description您可以在方法上设置一个属性来确定列名称 - 我相信应该可以将其标记为可翻译。

def max_of_some_values(self):
    # calculate it here, with caching,etc
    return 1
max_of_some_values.short_description = _('Max value')
Run Code Online (Sandbox Code Playgroud)