Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 11, 2012 20:29:39

hulygun
Зарегистрирован: 2012-08-25
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

request vs ajax

Есть модели:

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()
То есть при сабмите формы с name=“delete” аяксом должны удаляться все объекты принадлежащие Model2 с одинаковым значением поля “model3”
Вот кусок темплейта:
<form action="" method="post" id="simple">{% csrf_token %}
<input type="submit" name="delete" id="simple_delete" value="">
</form>
значение в value передаётся из js:
$('.deletebutton').click(function(){
    id = $(this).attr('data-id');
    $('#simple_delete').attr('value', id);
    $('#simple').ajaxForm();
    $('#simple_delete').click();
});
Ну и соответственно плагин jquery.form.js тоже подключен

Проблема в следующем - если сабмитить без ajax то всё норм, что нужно удаляется… а если с аяксом то выдаёт ошибку типа неправильное int значение… Как сделать, чтобы всё работало через аякс?

Офлайн

#2 Дек. 12, 2012 10:33:50

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 343
Репутация: +  35  -
Профиль   Адрес электронной почты  

request vs ajax

выложите полный код ошибки

Офлайн

#3 Дек. 12, 2012 15:25:41

hulygun
Зарегистрирован: 2012-08-25
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

request vs ajax

inoks
выложите полный код ошибки
В трейсбеке всё ругалось на пустое значение int()
Решил проблему другим способом. Создал отдельное представление для удаления, с обращением через аякс

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version