Ant*_*ins 5 django user-interface boolean django-admin
有时不希望为布尔字段显示"开/关"图标.
例:
error当出现错误或时,字段显示一个快乐的绿色'ok'图标blocked=True显示为绿色'ok',而blocked=False'no entry'标志.在这种情况下,保持原始True/ False行为会更好.
有没有更优雅的方式不是创建一个特殊的方法返回例如self.error,添加short_description,ordering等等呢?
Aam*_*nan 11
使用此代码没有肮脏admin.py:
from mysite.models import Test
from django.contrib import admin
class TestAdmin(admin.ModelAdmin):
list_display = ('is_blocked_col',)
def is_blocked_col(self, obj):
return not obj.is_blocked # invert the boolean value
is_blocked_col.boolean = True
is_blocked_col.admin_order_field = 'is_blocked'
is_blocked_col.short_description = 'Is Blocked'
admin.site.register(Test, TestAdmin)
Run Code Online (Sandbox Code Playgroud)
如果您使用此方法,它仍将显示开/关图标.如果is_blocked=True那样return not obj.is_blocked将返回False显示为您所需的红色图标.
编辑
如果您想使用单词True/False而不是您可以设置的红色/绿色图标
is_blocked_col.boolean = False
在上面的代码中.
| 归档时间: |
|
| 查看次数: |
3021 次 |
| 最近记录: |