Какое это поле Django и как его использовать?
Это можно найти в Django Admin, в таблице Groups.
Фотография: https://imgur.com/a/Of9ZASM
Как я вижу, это html-тег <select>
с опцией multiple
(<select multiple>
).
Как мы можем добиться этого в пользовательских таблицах, и как мы можем их обрабатывать?
Я просмотрел документацию django, но она не настолько документирована (если я нашел правильную).
Вы можете работать с виджетом FilteredSelectMultiple
. Вы можете импортировать этот виджет из виджетов админки. Для этого также потребуется CSS и JavaScript. Таким образом, в вашей форме вы можете работать с:
from django.contrib.admin.widgets import FilteredSelectMultiple
class SomeModelForm(forms.ModelForm):
class Meta:
model = SomeModel
widgets = {
'some_field': FilteredSelectMultiple('SomeField', False)
}
class Media:
css = {
'all': ('/static/admin/css/widgets.css',),
}
js = ('/admin/jsi18n',)
Затем вы отображаете форму следующим образом:
<form method="post" action="…">
{% csrf_token %}
{{ form.media }}
{{ form }}
</form>