Удаление объекта в django путем передачи двух параметров id с помощью ajax-вызова
Когда я пытаюсь удалить объект с помощью ajax вызова, оба ID не передаются в url
Получаю url типа
127.0.0:8000/delete//
urls.py
path('delete/<int:a_id>/<int:b_id>',views.delete,name="delete")
views.py
def delete(request,a_id,b_id):
obj=Table.objects.get(a_id=a_id,b_id=b_id)
obj.delete()
return render(request,"delete.html")
delete.html
<input type="hidden" id="a_id" data-value="{{obj.a_id}}">
<input type="hidden" id="b_id" data-value="{{obj.b_id}}">
script.js
var a_id=$("#a_id").data("value");
var b_id=$("#b_id").data("value");
#some code
$.ajax({
url:'delete/'+ a_id +'/' + b_id,
#some code
});
Вы не можете вернуть объект после его удаления. Вам необходимо добавить параметры для непосредственного рендеринга.
def delete(request,a_id,b_id):
obj=Table.objects.get(a_id=a_id,b_id=b_id)
obj.delete()
return render(request,"delete.html", {'a_id':a_id, 'b_id':b_id})
HTML
<input type="hidden" id="a_id" data-value="{{a_id}}">
<input type="hidden" id="b_id" data-value="{{b_id}}">