Обновление таблицы Django с помощью Ajax

Я хочу обновлять данные моего шаблона django с помощью Ajax. Я хочу позволить пользователям обновлять статус из выпадающего списка, и это должно отражаться без обновления страницы. Пожалуйста, обратитесь к этому

Помогите пожалуйста, я застрял в этом

Шаблон Django

{% for vulnerability in vulnerabilitys %}
  <tr>
    <th scope="row" >{{vulnerability.id}}A{{vulnerability.sNo}}</th>
    <td>{{vulnerability.vul_title}}</td>
    <td>{% for asset in vulnerability.asset.all %}{{asset}}<br>{% endfor %}</td>
    <td><span 
        {% if vulnerability.severity|lower == 'info' %} class="badge rounded-pill bg-info"  
        {% elif vulnerability.severity|lower == 'high' %} class="badge rounded-pill bg-danger"
        {% endif %}>
        {{vulnerability.severity}}</span></td>
    <td>{{vulnerability.vul_url}}</td>
    <td>{{vulnerability.last_seen|date:'d-m-Y H:i'}}&nbsp;<i class='fas fa-clock' style='color:rgb(48, 75, 228)'></i></td>
    <td><select id="ab" data-item = {{vulnerability.id}} qty-item="{{vulnerability.status}}" class="update" onchange="if (this.selectedIndex) doSomething();">
        {% if vulnerability.status == 'Open' %}
        <option value="{{ vulnerability.status }}">{{ vulnerability.status }}</option>
        <option value="InProgress">InProgress</option>
        <option value="Fixed">Fixed</option>
      </select>
      {% elif vulnerability.status == 'InProgress' %}
      <option value="{{ vulnerability.status }}">{{ vulnerability.status }}</option>
        <option value="Open">Open</option>
        <option value="Fixed">Fixed</option>
      </select>
      {% else %}
      <option value="{{ vulnerability.status }}">{{ vulnerability.status }}</option>
        <option value="InProgress">InProgress</option>
        <option value="Open">Open</option>
      </select>
      {% endif %}
      <h5>{{vulnerability.status}}</h5></td>
  </tr>{% endfor %}

скрипт в шаблоне

$(document).on('change', '.update', function(){
  // var item = $(this).closest('tr');
  // editItem(item);

  var pid = $(this).attr('data-item');
  var stat = $(this).attr('qty-item');
  var x = document.getElementById("ab").value;
  console.log("OLD",stat);
  console.log("NEW",x)
  var elem = document.getElementById('myTable2');
  elem.style.color = 'green';

  $.ajax({
      url:'/statUpdate/',
      data:{'pid': pid, 'stat':stat, 'x':x},
      // dataType:'json',
      success: function(data){
          // $('h5').html(data);
      }
  });
});

views.py

def vul_update(request):
if (request.session['namee'] == 'none'):
    return redirect(home)
username = request.session['namee']

pid = request.GET['pid']
stat = request.GET['stat']
x = request.GET['x']

print(pid)
print(stat)

vulnerabilities.objects.filter(id = pid).update(status = x)
a= vulnerabilities.objects.filter(id = pid)
print(a[0].status)

vulnerability = vulnerabilities.objects.filter(organisation__name = username)

context = {'username': username, 'vulnerabilitys': vulnerability}
# t = render_to_string('ajax/vul.html', context)
# return JsonResponse({'data':t})
success = a[0].status
return HttpResponse(success)

Это не работает должным образом, пожалуйста, скажите мне, что я делаю неправильно? Я хочу позволить клиенту обновлять статус и он должен обновляться в моделях django также без обновления страницы

Вернуться на верх