删除()一个实例

时间:2010-11-29 04:48:20

标签: python django model

在我看来:

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 个答案:

答案 0 :(得分:4)

Manager.filter()会返回QuerySet,而非ModelQuerySet.delete()不会调用Model.delete(),而是直接在数据库上运行。