2010-10-05 67 views
7

我:Django管理list_display反轉(不是)一個布爾場

class MyModelAdmin(admin.ModelAdmin): 
    list_display = ('name', 'locked',) 

它顯示了locked場漂亮的綠色和紅色的圖標。

我想要的是在locked字段中顯示倒數值。

所以我寫了這一點:

def not_locked(obj): 
    return not obj.locked 
class MyModelAdmin(admin.ModelAdmin): 
    list_display = ('name', not_locked,) 

而這個工作(反轉值),但它顯示醜陋TrueFalse,而不是漂亮的綠色和紅色的圖標。

如何讓它再次顯示圖標?

回答

16

只需添加到您的方法 'not_locked' 屬性布爾=真,

def not_locked(self, obj): 
    return not obj.locked 
not_locked.boolean = True