我有一个抽象类,它为我的所有模型提供了一些常用方法。我在所有模型中都继承了这个类。现在需要在删除模型时发送邮件。所以我在抽象类中重写了delete()方法。这导致了相同方法的递归调用,因为调用了super方法。
super(Model, self).save(*args, **kwargs)
class Common(models.Model):
#mail logic
super(type(self), self).delete(*args, **kwargs)
class Child(Common)
# fields
答案 0 :(得分:4)
这就是为什么您必须始终使用正确的类型而不是type(self)
。
super(Common, self).delete(*args, **kwargs)