Override save, put, get, etc… methods in Google App Engine

后端 未结 3 842
情歌与酒
情歌与酒 2020-12-14 12:59

Is it possible to override methids for db.Model in Google App Engine? I want to declare beforeSave, afterSave methods, etc.. to create automatic tagging system.

I kn

3条回答
  •  情话喂你
    2020-12-14 13:48

    Yes, it's possible to override these methods. Have a look at this blog post by Nick Johnson.The hooked model class looks this:

    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()
    

    Read the blog to see how to handle the db.put() method too.

    You might also be interested on "derived properties".

提交回复
热议问题