Python Django模型:如何使用mixin类覆盖Django模型以实现函数save

Python Django模型:如何使用mixin类覆盖Django模型以实现函数save,python,django,model,overriding,Python,Django,Model,Overriding,我想在每个模型保存之前验证值。因此,我必须重写save函数。 上面的代码几乎完全相同,我想在mixin类中编写它。但是失败了 我不知道如何写超级函数 对不起,我的英语很差 class SyncableMixin(object): def save(self, *args, **kwargs): try: res = validate(*args, **kwargs) except Exception: raise ValidateException()

我想在每个模型保存之前验证值。因此,我必须重写save函数。 上面的代码几乎完全相同,我想在mixin类中编写它。但是失败了 我不知道如何写超级函数

对不起,我的英语很差

class SyncableMixin(object):
  def save(self, *args, **kwargs):
    try:
      res = validate(*args, **kwargs)
    except Exception:
      raise ValidateException()

    super(?, self).save(*args, **kwargs)

class SomeModel(SyncableMixin, models.Model):
  pass

您总是在超级调用中引用当前的类

super(SyncableMixin, self).save(*args, **kwargs)
对于mixin和普通子类来说都是如此

(另外,不要捕获一个基本异常,尤其是不要捕获只会引发另一个异常的东西——这毫无意义。)