2010-10-05 15 views
7

mam:Django Admin list_display inwertowanego (nie) logiczną pole

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

Wyświetla ładne zielone i czerwone ikony dziedzinie locked.

Chcę pokazać odwrócone wartości w polu locked.

więc napisałem tak:

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

I to działa (odwraca wartości), ale wyświetla brzydki True lub False zamiast ładne zielone i czerwone ikony.

Jak ustawić ponownie ikony?

Odpowiedz

16

prostu dodać do metody 'not_locked' atrybut Boolean,

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