Django не проверяет значения, измененные с помощью JS - PullRequest
0 голосов
/ 19 сентября 2019

Я пытался смоделировать какой-то список выбора в формах 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"));
}
...