WD5 - разработка сайтов

Список many to many в admin.py в виде checkbox флажков

В админке django связи многие ко многим (many to many) по умолчанию отображаются в виде списка с множественным выбором.

Данным списком удобно пользоваться в начале, когда ведется разработка сайта.

Когда начинается заполнение сайта, удобнее использовать checkbox виджет, отмечая флажками (галочками) нужные разделы.

В файле admin.py



from django.db import models
from django.forms import CheckboxSelectMultiple

class ForModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.ManyToManyField: {'widget': CheckboxSelectMultiple},
    }

admin.site.register(mymodel, ForModelAdmin)

Пояснение: импортируем модели и формы; создаем класс для отображения модели в админке, в нем указываем способ отображения для многие ко многим; регистрируем модель и класс.

Таблица 1. Сравнение способов выбора при использовании связи многие ко многим в админке.

Windows 95/98
Windows 2000
System X
Linux
X3-DOS

Список с множественным выбором Чекбокс

Для выбора нескольких пунктов с помощью виджета список при клике мышкой использовать кнопки control, shift

None