class Model1(models.Model): model2 = models.ManyToManyField(Model2) #... class Model2(models.Model): model3 = models.ForeignKey(Model3) #... class Model3(models.Model): custom = models.CharField()
def simple(request, simple_id): if request.method == 'POST': if request.is_ajax(): if 'delete' in request.POST: id3 = request.POST.get('delete', '') Model1.objects.get(id = simple_id).model2.filter(model3__id = id3).delete()
Вот кусок темплейта:
<form action="" method="post" id="simple">{% csrf_token %} <input type="submit" name="delete" id="simple_delete" value=""> </form>
$('.deletebutton').click(function(){ id = $(this).attr('data-id'); $('#simple_delete').attr('value', id); $('#simple').ajaxForm(); $('#simple_delete').click(); });
Проблема в следующем - если сабмитить без ajax то всё норм, что нужно удаляется… а если с аяксом то выдаёт ошибку типа неправильное int значение… Как сделать, чтобы всё работало через аякс?