覆盖Google App Engine中的save,put,get等方法

Ale*_*irs 9 google-app-engine overriding

是否可以在Google App Engine中覆盖db.Model的方法?我想声明beforeSave,afterSave方法等.创建自动标记系统.

我知道有钩子,但在我看来解决这个问题是错误的方法:)

谢谢!

jbo*_*chi 13

是的,可以覆盖这些方法.看看Nick Johnson撰写的这篇博客文章.这个迷人的模型类看起来像这样:

class HookedModel(db.Model):
  def before_put(self):
    pass

  def after_put(self):
    pass

  def put(self, **kwargs):
    self.before_put()
    super(HookedModel, self).put(**kwargs)
    self.after_put()
Run Code Online (Sandbox Code Playgroud)

阅读博客,了解如何处理该db.put()方法.

您可能还对"派生属性"感兴趣.

  • 我真的必须加快速度.;) (5认同)