list_display - логические значки для методов

123

При определении массива list_display для ModelAdminкласса, если задано BooleanFieldили NullBooleanField, пользовательский интерфейс будет использовать красивые значки вместо текста True / False в столбце. Однако, если задан метод, возвращающий логическое значение, он просто выводит True / False.

Есть ли способ заставить его использовать красивые значки для логического метода?

Джейсон Макклеллан
источник

Ответы:

234

Это подтверждается, хотя это немного трудно найти - пройти пару экранов вниз из здесь , и вы найдете это:

Если данная строка является методом модели, ModelAdmin или вызываемый объект, который возвращает True или False, Django отобразит красивый значок «включено» или «выключено», если вы дадите методу booleanатрибут, значение которого равно True.

и приведенный пример:

def born_in_fifties(self):
    return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True
Дэниел Розман
источник
13
Есть идеи, как это сделать, когда вы используете декоратор @property ?: «AttributeError: объект 'property' не имеет атрибута 'boolean'»
Кай Рассел
3
@Kye stackoverflow.com/questions/12842095/…
Джейсон Макклеллан
это очень полезно
Минхаджул
Прекрасный! Это то, что заставляет меня любить Python + Django.
Nitin Nain