将实体放入数据存储区后,我需要使用 NDB 执行一些代码。
假设我有这样的东西。
ent=Entity()
ent.put()
def after_put():
assert ...
我怎样才能在不手动调用函数的情况下实现这一点?我可以使用某种触发器或回调吗?
将实体放入数据存储区后,我需要使用 NDB 执行一些代码。
假设我有这样的东西。
ent=Entity()
ent.put()
def after_put():
assert ...
我怎样才能在不手动调用函数的情况下实现这一点?我可以使用某种触发器或回调吗?
是的,您可以使用“钩子”。
NDB 提供了一个轻量级的钩子机制。通过定义一个钩子,应用程序可以在某种类型的操作之前或之后运行一些代码;例如,模型可能会在每个 get() 之前运行一些函数。钩子函数在使用适当方法的同步、异步和多版本时运行。例如,“pre-get”钩子将适用于所有 get()、get_async() 和 get_multi()。
https://developers.google.com/appengine/docs/python/ndb/entities#hooks