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

标签 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)

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

同时,我发现无法为我的属性添加翻译后的“列”名称。

以前有人处理过这个吗?

最佳答案

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

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

关于django - 在 Django admin 中显示属性 - 翻译它们的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3316022/

相关文章:

Django 表单与 ReactJS

python - 如何查询定义具有两个 int 字段(IP、掩码)的 IP 范围的 Django 模型

django __str__ 返回所有属性

python - Django 管理站点丢失了所有格式

python - 忽略/跳过 python bandit 安全问题报告中的某些问题的方法是什么?

python - 检查 object_id 在 queryset.annotate Case When 参数中是否出现多次

django - Gunicorn 动态反射(reflect)更改的代码

Django Rest Framework APIRequestFactory 请求对象没有属性 'query_params'

python - Django - OneToOneField 未在管理中填充

python - 为 Mac django-admin 启动 Python 3 的 Django 不工作