我正在dJango项目站点上学习django管理员,我想在管理列表页面中显示“是/否”而不是“真/假”图标。这些值来自AdminModel中定义的方法。
模型类中有一个返回True / False的方法。在django中,有一个属性“ boolean”,当分配“ True”时,它将在管理列表页面上的列中显示红色和绿色图标。
**class** Question(models.Model):
pub_date = models.DateTimeField('date published')
def was_published_recently(self):
now = timezone.now()
**return** now - datetime.timedelta(days=1) <= self.pub_date <= now
was_published_recently.boolean = True
答案 0 :(得分:0)
我认为您必须为此编写一个自定义方法:
class QuestionAdmin(ModelAdmin):
list_dipslay = [..., 'recently_published']
readonly_fields = [..., 'recently_published']
# ...
def recently_published(self, obj):
return ('No', 'Yes')[obj.was_published_recently()]
recently_published.short_description = 'whatever column header'
据我所知,没有方便的钩子可以全局更改布尔字段列表的显示行为。