Как исправить / установить ширину столбца в таблице списка изменений моделмина django при добавлении фильтра list_filter?

Я работаю над улучшением admin.py в проекте django, и хотя я не совсем удивлен тем, как таблица выходит с тремя полями в list_diplay, по крайней мере это лучше, чем просто получить список объектов по умолчанию с одним столбец, охватывающий всю страницу...

Во всяком случае, я спрашиваю, почему, если это:

class FieldAdmin(admin.ModelAdmin):
    list_display = ('name', 'label', 'standard',  )

выглядит так:

без списка_фильтров

Когда я добавляю list_filter, вот так:

class FieldAdmin(admin.ModelAdmin):
    list_display = ('name', 'label', 'standard',  )
    list_filter = ['standard',]

Почему это выглядит так?

Imgur

Есть ли способ заставить столбцы повторно расти, чтобы заполнить ширину, как это было до добавления фильтра? Я читал документы и гуглил, но это не похоже на встроенный? В проекте, над которым я работаю, сейчас используется django 1,2,3, final.

FWIW, CSS, который вызывает это здесь:

.change-list .filtered table, .change-list .filtered .paginator, 
.filtered #toolbar, .filtered div.xfull {
    margin-right: 160px !important;
    width: auto !important;
}

Отключение спецификации стиля ширины исправляет это, но я бы предпочел сделать все так, как это делает django, если он есть - я надеялся, что, возможно, есть способ настроить представление фильтра из класса FieldAdmin?

1 ответ

Решение

Вы можете сослаться на это: https://docs.djangoproject.com/en/dev/ref/contrib/admin/

в основном, change_list.html необходимо переопределить.

Вы можете сделать это следующим образом:

templates/
  admin/
    app/
      change_list.html

вы можете получить копию change_list.html от django/contrib/admin/templates/admin/

и обновите CSS так, как вы хотите.

Admin .py:

class MyClassAdmin(admin.ModelAdmin):

    class Media:
        css = {
            'all': ('fancy.css')
        }

fancy.css:

.column-foo {
    width: 20px;
}

где "foo" - имя поля.

Источник: https://docs.djangoproject.com/en/3.0/topics/forms/media/

Другие вопросы по тегам