Удалить () экземпляр - PullRequest
       3

Удалить () экземпляр

3 голосов
/ 29 ноября 2010

На мой взгляд:

def delete_payment(request, id):
    thePayment = Payment.objects.filter(id=id)
    thePayment.delete()
    return HttpResponseRedirect('/invoices/open/')

В моей модели:

def delete(self, *args, **kwargs):
    raise Exception('foo')
    super(Payment, self).delete(*args, **kwargs)

Я обнаружил, что исключение не возникает, если я не удаляю экземпляр из представления администратора. То есть я не могу заставить delete () вызываться должным образом, если использую свое собственное представление.

1 Ответ

4 голосов
/ 29 ноября 2010

Manager.filter() возвращает QuerySet, а не Model. QuerySet.delete() не вызывает Model.delete(), а работает непосредственно с базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...