Я пытался смоделировать какой-то список выбора в формах Django, где задействовано 3 SelectMultiple, все начинаются в поле Area, когда Area изменяется, поле Course_Area перезагружается с курсами, связанными с выбранной областью (эта частьуже работает) и, наконец, поле «Курс», где возникает проблема, поле «Курс» должно быть заполнено неповторяющимися выбранными объектами из Course_Area - задача, которая из того, что я искал, лучше выполняется с помощью JS, с выбранным моим фактическим кодом JSэлементы из Course_Area передаются в поле Courses, но при отправке формы поле Course не переходит на этап проверки.Любая помощь будет приветствоваться.
Код формы:
class MyEntityForm(forms.ModelForm):
area = forms.ModelChoiceField(
label='Area',
queryset=Area.objects.all(),
required=False,
empty_label='Area',
widget=forms.Select(attrs=
{'onchange': "filterCourses();"}
)
)
courses_area = forms.ModelMultipleChoiceField(
label='Courses by Area',
queryset=Curso.objects.none(),
required=False,
widget=forms.SelectMultiple(attrs=
{'onclick': "addCourse();"}
)
)
class Meta():
model = Entidade
fields = ['area', 'courses_area',
'courses']
Код JS:
function filterCourses(){
area_id=document.getElementById('id_area').value;
$.ajax({
url: '/myentity/ajax/load_courses/',
data: {
'area': area_id,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success: function (data) {
$("#id_courses_area").html(data);
}
});
}
function adicionaCurso(){
$("#id_courses").append( $("#id_courses_area option:selected"));
}