若表达式为True,则在django管理界面中更改字段的字体/颜色

若表达式为True,则在django管理界面中更改字段的字体/颜色,django,django-models,django-admin,Django,Django Models,Django Admin,在django管理界面的更改列表视图中,如果某些字段/行实现表达式,是否可以将其标记为红色 例如,如果有一个模型组,其中有成员和容量,我怎样才能看到它们是满的还是拥挤的?要修改更改列表视图中显示的方式和内容,可以使用选项 请注意,list\u display中给出的非真实数据库字段的列不能用于排序,因此需要向Django管理员提示实际使用哪个数据库字段进行排序 例如,可以通过将admin\u order\u field属性设置为用于在HTML中封装某些值的可调用项来实现这一点 Django文档中

在django管理界面的更改列表视图中,如果某些字段/行实现表达式,是否可以将其标记为红色


例如,如果有一个模型
,其中有
成员
容量
,我怎样才能看到它们是满的还是拥挤的?

要修改更改列表视图中显示的方式和内容,可以使用选项

请注意,
list\u display
中给出的非真实数据库字段的列不能用于排序,因此需要向Django管理员提示实际使用哪个数据库字段进行排序

例如,可以通过将
admin\u order\u field
属性设置为用于在HTML中封装某些值的可调用项来实现这一点

Django文档中彩色字段的示例:

class Person(models.Model):
    first_name = models.CharField(max_length=50)
    color_code = models.CharField(max_length=6)

    def colored_first_name(self):
        return '<span style="color: #%s;">%s</span>' % (
                             self.color_code, self.first_name)
    colored_first_name.allow_tags = True
    colored_first_name.admin_order_field = 'first_name'

class PersonAdmin(admin.ModelAdmin):
    list_display = ('first_name', 'colored_first_name')
班级人员(models.Model):
first_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def colored_名字(自我):
返回“%s”(
self.color\u代码、self.first\u名称)
彩色\u first\u name.allow\u tags=True
彩色\u first\u name.admin\u order\u字段='first\u name'
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'colored\u first\u name')

我希望其中有些帮助。

要修改“更改列表”视图中的显示方式和内容,可以使用选项

请注意,
list\u display
中给出的非真实数据库字段的列不能用于排序,因此需要向Django管理员提示实际使用哪个数据库字段进行排序

例如,可以通过将
admin\u order\u field
属性设置为用于在HTML中封装某些值的可调用项来实现这一点

Django文档中彩色字段的示例:

class Person(models.Model):
    first_name = models.CharField(max_length=50)
    color_code = models.CharField(max_length=6)

    def colored_first_name(self):
        return '<span style="color: #%s;">%s</span>' % (
                             self.color_code, self.first_name)
    colored_first_name.allow_tags = True
    colored_first_name.admin_order_field = 'first_name'

class PersonAdmin(admin.ModelAdmin):
    list_display = ('first_name', 'colored_first_name')
班级人员(models.Model):
first_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def colored_名字(自我):
返回“%s”(
self.color\u代码、self.first\u名称)
彩色\u first\u name.allow\u tags=True
彩色\u first\u name.admin\u order\u字段='first\u name'
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'colored\u first\u name')

我希望其中的一些帮助。

此外,您可以使用

colored_first_name.short_description = 'first name'

此外,您还可以使用

colored_first_name.short_description = 'first name'

对于一个好的专栏标题

这是一个老问题,但我将从文档中为
Django 1.10
添加一个示例,因为在接受的答案中使用的
allow_tags
属性已被弃用,因为
Django 1.9
,建议改用:

来自django.db导入模型的

从django.contrib导入管理
从django.utils.html导入格式\u html
班级负责人(models.Model):
first_name=models.CharField(最大长度=50)
last_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def颜色_名称(自身):
返回格式(
'{} {}',
self.color\u代码,
self.first_name,
self.last_name,
)
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'last\u name'、'colored\u name')

这是一个老问题,但我将从文档中为
Django 1.10
添加一个示例,因为在接受的答案中使用的
allow_tags
属性已被弃用,因为
Django 1.9
,建议改用:

来自django.db导入模型的

从django.contrib导入管理
从django.utils.html导入格式\u html
班级负责人(models.Model):
first_name=models.CharField(最大长度=50)
last_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def颜色_名称(自身):
返回格式(
'{} {}',
self.color\u代码,
self.first_name,
self.last_name,
)
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'last\u name'、'colored\u name')

谢谢,.allow\u标签完成了任务。回答得很好@rebus。是否有任何方法可以将
colored\u first\u name
函数和属性绑定到
PersonAdmin
而不是模型?为模型指定特定于管理员的属性似乎有些奇怪。@coonceasan是的,list\u display的值可以是模型或admin类上方法的字符串名称,也可以是对可调用对象的引用
allow_tags
属性从
Django 1.9
开始被弃用,我添加了一个单独的答案,并使用
format_html
Method添加了一个示例。谢谢。allow_tags完成了这项工作。答案很棒@rebus。是否有任何方法可以将
colored\u first\u name
函数和属性绑定到
PersonAdmin
而不是模型?为模型指定特定于管理员的属性似乎有些奇怪。@coonceasan是的,list\u display的值可以是模型或admin类上方法的字符串名称,也可以是对可调用对象的引用
allow_tags
属性从
Django 1.9
开始就被弃用,我用
format_html
方法添加了一个单独的答案