在 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
我有一个像这样的 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
装饰器
结帐