Как назначить событие, передав список первичных ключей (id) в качестве параметра с помощью javascript
Я вывожу информацию о студентах в таблицу в django. Функция, которую мы хотим создать, заключается в том, что вошедший в систему учитель выбирает флажок нужного ученика и нажимает кнопку "Добавить учителя", после чего имя вошедшего в систему учителя добавляется в поле "Учитель" вошедшего ученика. Имя вошедшего в систему учителя можно получить как {{ request.user.name }}.
<table class="maintable">
<thead>
<tr>
<th class="text-black text-center text-nowrap bg-secondary font-weight-bold sticky-top-custom">Name</th>
<th class="text-black text-center text-nowrap bg-secondary font-weight-bold sticky-top-custom">Age</th>
<th class="text-black text-center text-nowrap bg-secondary font-weight-bold sticky-top-custom">Register Date</th>
<th class="text-black text-center text-nowrap bg-secondary font-weight-bold sticky-top-custom">Teacher</th>
<th class="text-black text-center text-nowrap bg-secondary font-weight-bold sticky-top-custom">Select</th>
</tr>
</thead>
<tbody>
{% for student in students %}
<tr student-id="{{ student.id }}">
<td>{{ student.name }}</td>
<td>{{ student.age }}</td>
<td>{{ student.register_date }}</td>
<td>{{ student.techer }}</td>
<td><input type="checkbox"></td>
</tr>
{% endfor %}
</tbody>
</table>
<input type="button" value="Add Teacher" class="addteacher">
Метод, который я придумал, выглядит следующим образом, но код не работает и, похоже, требует доработки. Помогите!
urls.py
path('student/<int:id>/edit/', views.edit_student, name='edit_student') --> It looks like the parameter needs a list.
views.py
def edit_student(request, id):
student = get_object_or_404(Student, pk=id) --> Так же как параметр в urls.py нужно изменить на список, а не на первичный ключ, эту часть тоже нужно изменить.
student.teacher = {{request.user.name}} student.save()
student_list.html
<script>
$('button.addteacher').click(function (e) {
let elem = $(this);
let studentID = elem.attr('student-id');
$.post('/student/' + studentID + '/edit/',
--> Overall needs improvement
});
</script>