在Django管理控制台中显示属性的勾号和十字图标

2024-10-01 17:29:47 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django管理中,如果字段是BooleanField或NullBooleanField,Django将显示一个漂亮的“on”或“off”图标,而不是True或False。在

现在,我的模型中没有布尔字段,我有一个属性fior,我想显示图标,但是当我尝试这样做时,Django尖叫着'SomeAdmin.list_filter[0]' refers to 'is_activated' which does not refer to a Field.

有没有可能在没有对Django进行过多黑客攻击的情况下为这个领域显示那些漂亮的小图标吗。在

谢谢


Tags: todjango模型falsetrue属性onfilter
1条回答
网友
1楼 · 发布于 2024-10-01 17:29:47

您不想使用list_filter。您要查找的属性是^{}。文档提供了一个示例,说明如何在显示中创建行为类似于布尔值的列。简而言之,你可以这样做:

  1. 在类中创建方法:

    def is_activated(self)
        if self.bar == 'something':
            return True
        return False
    
  2. is_activated方法的正下方添加.boolean方法属性:

    is_activated.boolean = True
    
  3. 将方法添加为list_display中的字段:

    类MyAdmin(ModelAdmin): list_display=['name','is_activated']

  4. 您会注意到列名现在可能是“is Activated”或类似的名称。如果要更改列标题,请使用short_description方法属性:

    ^{3美元

相关问题 更多 >

    热门问题