list_display - ícones booleanos para métodos


122

Ao definir a matriz list_display para uma ModelAdminclasse, se a BooleanFieldou NullBooleanFieldfor fornecida, a interface do usuário usará ícones de boa aparência em vez do texto Verdadeiro / Falso na coluna. Se um método que retorna um booleano é fornecido, ele simplesmente imprime True / False.

Existe uma maneira de fazê-lo usar os ícones bonitos para um método booleano?

Respostas:


232

Isso está documentado, embora seja um pouco difícil de encontrar - vá algumas telas abaixo daqui e você encontrará o seguinte:

Se a string fornecida for um método do modelo, ModelAdmin ou um callable que retorne True ou False Django exibirá um ícone bonito "ativado" ou "desativado" se você atribuir ao método um booleanatributo cujo valor seja True.

e o exemplo dado é:

def born_in_fifties(self):
    return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True

13
Alguma idéia de como fazê-lo quando você usa o decorador @property ?: "AttributeError: 'property' objeto não tem nenhum atributo 'booleano'" "
Kye Russell


isso é muito útil
minhajul 3/17/17

Lindo! É isso que me faz amar Python + Django.
Nitin Nain
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.