删除()一个实例

3
在我看来:
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

Manager.filter() 返回的是一个 QuerySet,而不是一个 ModelQuerySet.delete() 并不会调用 Model.delete(),而是直接在数据库上进行操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接