list_display - ikon boolean untuk metode

123

Saat mendefinisikan array list_display untuk sebuah ModelAdminkelas, jika a BooleanFieldatau NullBooleanFielddiberikan, UI akan menggunakan ikon yang tampak bagus alih-alih teks True / False di kolom. Jika metode yang mengembalikan boolean diberikan, bagaimanapun, itu hanya mencetak True / False.

Apakah ada cara untuk membuatnya menggunakan ikon cantik untuk metode boolean?

Jason McClellan
sumber

Jawaban:

234

Ini didokumentasikan, meskipun agak sulit ditemukan - turun beberapa layar dari sini , dan Anda akan menemukan ini:

Jika string yang diberikan adalah metode model, ModelAdmin atau yang dapat dipanggil yang mengembalikan Benar atau Salah Django akan menampilkan ikon cantik "aktif" atau "mati" jika Anda memberikan metode booleanatribut yang nilainya True.

dan contoh yang diberikan adalah:

def born_in_fifties(self):
    return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True
Daniel Roseman
sumber
13
Ada ide bagaimana melakukannya saat Anda menggunakan @property decorator ?: "AttributeError: objek 'property' tidak memiliki atribut 'boolean'"
Kye Russell
ini sangat membantu
minhajul
Cantik! Inilah yang membuat saya menyukai Python + Django.
Nitin Nain