Отображение галочек и перекрестных значков для свойства в консоли администрирования Django
в Администраторе Django если поле является BooleanField или NullBooleanField, Django будет отображать довольно значок "вкл" или "выкл" вместо True или False.
теперь у меня действительно нет BooleanField в моей модели, у меня есть свойство fior, которое я хотел бы отобразить значки, но когда я пытаюсь это сделать, Django кричит, что 'SomeAdmin.list_filter[0]' refers to 'is_activated' which does not refer to a Field.
можно ли отображать эти милые маленькие значки для этого поля без взлома Django слишком много.
спасибо
1 ответов
вы не хотите использовать list_filter
. Имущество вы почувствуете list_display
. В документации приведен пример создания столбца, который ведет себя как логическое значение на дисплее. Короче, вы делаете что-то вроде этого:
-
создайте метод в классе:
def is_activated(self) if self.bar == 'something': return True return False
-
добавить
.boolean
атрибут метода непосредственно подis_activated
способ:is_activated.boolean = True
-
добавить метод как поле в
list_display
:класс MyAdmin(ModelAdmin): list_display = ['name', 'is_activated']
-
вы заметите, что имя столбца, вероятно, теперь "активировано" или что-то в этом роде. Если вы хотите изменить заголовок столбца, используйте
short_description
способ атрибутов:is_activated.short_description = "Activated"