我有这个模型。我正试图为' info'制作标签。字段更改背景颜色,如果已批准= True。 这是我的模型和管理文件
models.py
class MyModel(models.Model):
name = models.CharField(max_length=100, unique=True)
info = models.TextField(null=True, blank=True)
approved = models.BooleanField(default=False)
admin.py
class MyModelAdminForm(forms.ModelForm):
class Meta:
model = MyModel
class MyModelAdmin(admin.ModelAdmin):
form = MyModelAdminForm
list_display = ('name', 'info', 'approved',)
fieldsets = (
(None, {
'fields': ('name', 'info')
}),
)
答案 0 :(得分:0)
试试这个:
class MyModelAdmin(admin.ModelAdmin):
form = MyModelAdminForm
list_display = ('name', 'info_colored', 'approved',)
readonly_fields = ('info_colored',)
fieldsets = (
(None, {
'fields': ('name', 'info', 'info_colored',)
}),
)
def info_colored(self, obj):
color = 'red'
if obj.approved:
color = 'green'
return u'<b style="background:{};">{}</b>'.format(color, obj.info)
info_colored.allow_tags = True
info_colored.admin_order_field = 'info'