在 Django 管理中使用详细名称为模型 属性 设置样式 HTML

Styling HTML for model property with verbose name in Django admin

我有一个像这样的 Django 模型:

class MyModel (models.Model):
    value = IntegerField()

    def custom_field(self):
        return self.value + 1

然后在我的 admin.py 文件中,我有一个模型:

class MyModelAdmin(admin.ModelAdmin):
     list_display = ('id', 'custom_field')

     def custom_field(self, obj):

        if obj.total_counter_actual != obj.total_counter:
            color = 'red'
            return format_html(
                '<b style="color:{};">{}</b>',
                color,
                obj.custom_field
            )
        else:
            return obj.custom_field
    custom_field.short_description='My custom column name'

虽然列名(暗示冗长名称的类似物)和样式都按预期工作,但我看到的不是值,而是 <bound method MyModel.custom_field of <MyModel: TEST_VALUE>>。有什么办法可以解决这个问题?

您缺少 @property 装饰器

结帐documentation