Использование одного и того же модала для добавления/редактирования содержимого строки DataTable

Я изо всех сил пытаюсь заставить этот код работать.

https://ibb.co/HVS5QH7

У меня есть Django-сайт, на котором на странице, которую я сейчас делаю, есть DataTable с информацией о моих клиентах. У меня есть кнопка сверху для добавления нового клиента, и строки таблицы могут быть нажаты для редактирования соответствующих данных клиента. В обоих случаях показывается модал (#clientModal), один и тот же. У меня почти все работает, так как все работало нормально, когда я использовал несколько страниц вместо внутристраничных модалов. Все работает как надо, когда я нажимаю на строку таблицы, чтобы отредактировать информацию о каком-то клиенте, модальная форма заполняется, но когда я нажимаю на кнопку сохранения формы, она создает новый объект вместо того, чтобы обновить соответствующий объект. Вот в чем моя проблема, я думаю, что я не далек от правильного подхода, хотя я не совсем уверен, чего здесь не хватает.

customerList.html

.js файл для customerList.html

$(".clickable-row, #customerTable").on("click", "tr", function (e) {
  //$("#customerTable, .clickable-row").click(  function (event) {
  $(document).find("h4#form-modal-title").text("Editar Cliente ");
  var modal = $(document).find("#clientModal");
  var pk = $(this).data("pid");
  $.ajax({
    data: { pk: pk },
    url: "{% url 'CustomerEdit' %}",
    context: document.body,
    error: function (response, error) {
      alert(error);
    },
  }).done(function (response) {
    $("#my-modal-body").html(response);
  });
  $("#clientModal").modal("show");
});

views.py

@login_required
    def CustomerList_view(request):
        form = CustomerForm(request.POST or None, request.FILES or None)
        
        if request.POST and form.is_valid():
            form.save()
            return redirect("/customers/")  
        
        customers = Customer.objects.all()
        context = {
            'customers': customers,
            'form': form,
            'collapse': 'Sales'
        }
    
        return render(request=request, template_name="customerList.html", context=context)
    
        @login_required
        def CustomerEdit_view(request):
            # Edit object of form
            pk = request.GET.get('pk')
            customer = Customer.objects.get(id=pk)
            form = CustomerForm(request.POST or None,instance = customer)
            
            if request.POST and form.is_valid():
                form.save()
                return redirect("/customers/")  
        
            context = {
                'pk': pk,
                'form': form,
                'collapse': 'Sales'
            }
            return render(request, 'customerEdit.html', context=context)
Вернуться на верх