#django #jquery-select2 #jquery-select2-4
#django #jquery-select2 #jquery-select2-4
Вопрос:
Я использую Select2 для множественного выбора тегов. Я использую Taggit для тегов. Проблема в том, что если пользователь выбирает более одного тега, то в форму передается только один.
Мой выбранный HTML:
<select class="custom-select js-example-basic-multiple form-control " id="select-tags" name="usertags" multiple="multiple">
{% for tag in userTags %}
<option value="{{ tag }}" data-id="{{ tag.color }}" class="options">{{ tag }}</option>
{% endfor %}
</select>
Моя форма:
class FileUploadForm(forms.ModelForm):
class Meta:
model = Uploaded
fields = (
'name',
'file',
'usertags',
)
Views.py
if request.method == 'POST':
form = FileUploadForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user = request.user
user = request.user
form.save()
Ответ №1:
Ваши параметры должны иметь уникальные идентификаторы.
<option value="yyxx" id="xx">option name</option>
Комментарии:
1. Я добавил идентификатор, но он по-прежнему не работает. Кроме того, select2, похоже, генерирует уникальный идентификатор для каждого параметра сам по себе.
2. как вы исправили это @BoostedAnimal ? Я не знаю, как это работает с формами, но если вы используете
request.POST.getlist('usertags')
, вы можете увидеть результат, опубликованный в виде списка