Автор Тема: Зачем нужен list_display в ModelAdmin  (Прочитано 1429 раз)

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Зачем нужен list_display в ModelAdmin
« : Февраля 16, 2019, 11:19:36 am »
Привет всем!

Наследуюсь от ModelAdmin и переопределяю поле list_display, но ничего не меняется.

В документации написано, что он
Цитата:
"Set list_display to control which fields are displayed on the change list page of the admin."

Но задаю разные поля - и ничего не меняется. Как отображались все поля, так и отображаются




AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Зачем нужен list_display в ModelAdmin
« Ответ #1 : Февраля 16, 2019, 11:28:43 am »
Насколько я понимаю, list_display используется не для DetailView, а для ListView моделей

AdminUser

  • Team Lead
  • Юный джедай
  • *****
  • Сообщений: 65
  • Репутация +8/-0
    • Просмотр профиля
Re: Зачем нужен list_display в ModelAdmin
« Ответ #2 : Февраля 16, 2019, 11:39:55 am »
Можешь попробовать, как тут, у меня работает:

list_display = ('first_name', 'last_name')
Можно указывать свои собственные кастомные поля, тоже работает:

list_display = ('first_name', 'last_name', 'City')
Вот еще ссылочки по теме: тыц,
« Последнее редактирование: Февраля 16, 2019, 11:50:49 am от AdminUser »

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Re: Зачем нужен list_display в ModelAdmin
« Ответ #3 : Февраля 16, 2019, 12:08:18 pm »
Хорошо, а как изменить заголовки столбцов для встроенных полей пользователя?

Например, для своих я могу задать verbose_name. А для встроенных?

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
Re: Зачем нужен list_display в ModelAdmin
« Ответ #4 : Февраля 16, 2019, 04:11:21 pm »
Хорошо, а как изменить заголовки столбцов для встроенных полей пользователя?

Например, для своих я могу задать verbose_name. А для встроенных?

Нашел, что можно использовать кастомные функции в list_display:

    list_display = ('_first_name',)

    def _first_name(self, request): return request.first_name

    _first_name.allow_tags = True
    _first_name.short_description = u'Имя'
« Последнее редактирование: Февраля 16, 2019, 05:22:46 pm от DigitalMag »