list_display - logiczne ikony metod

123

Podczas definiowania tablicy list_display dla ModelAdminklasy, jeśli podano BooleanFieldlub, NullBooleanFieldinterfejs użytkownika użyje ładnie wyglądających ikon zamiast tekstu Prawda / Fałsz w kolumnie. Jeśli jednak podano metodę, która zwraca wartość logiczną, po prostu wypisuje True / False.

Czy istnieje sposób, aby użyć ładnych ikon dla metody boolowskiej?

Jason McClellan
źródło

Odpowiedzi:

234

Jest to udokumentowane, choć jest to trochę trudne do znalezienia - przejść kilka ekranów w dół od tutaj , a znajdziesz to:

Jeśli podany łańcuch jest metodą modelu, ModelAdmin lub obiekt wywoływany, który zwraca True lub False, Django wyświetli ładną ikonę „on” lub „off”, jeśli nadasz metodzie booleanatrybut o wartości True.

a podany przykład to:

def born_in_fifties(self):
    return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True
Daniel Roseman
źródło
13
Masz jakiś pomysł, jak to zrobić, gdy używasz dekoratora @property ?: „AttributeError: 'property' obiekt nie ma atrybutu 'boolean'”
Kye Russell
jest to bardzo pomocne
minhajul
Piękny! To właśnie sprawia, że ​​kocham Python + Django.
Nitin Nain