Jas*_*lan 117 django django-admin
当定义了该list_display数组ModelAdmin类,如果一个BooleanField或NullBooleanField给予用户界面将使用的,而不是在列真/假的文字好看的图标.但是,如果给出了返回布尔值的方法,则只会打印出True/False.
有没有办法让它使用漂亮的图标作为布尔方法?
Dan*_*man 221
这是有记载的,虽然它有点难找 - 从这里下来几个屏幕,你会发现:
如果给定的字符串是模型的方法,ModelAdmin或返回True或False Djallo的callable将显示一个漂亮的"on"或"off"图标,如果你给该方法一个
boolean值为的属性True.
给出的例子是:
def born_in_fifties(self):
return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True
Run Code Online (Sandbox Code Playgroud)
感谢@daniel-roseman (rtfm)
从 Django 3.2 开始就有了一个装饰器 @admin.display(boolean=True):
如果字符串(中
list_display给出)是模型的方法,ModelAdmin或可调用的是回报True,False或者None,Django会显示一个漂亮的“是”,“否”或“未知”图标,如果你用的包装方法display()装饰传球boolean值设置为的参数True:
class Person(models.Model):
birthday = models.DateField()
@admin.display(boolean=True)
def born_in_fifties(self):
return 1950 <= self.birthday.year < 1960
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21707 次 |
| 最近记录: |