您好我使用SQLAlchemy作为Web应用程序。我想听一个事件'after_insert'。
class MyApp(Base):
...
def listen_after_insert(*args):
...
event.listen(MyApp, 'after_insert', listen_after_insert)
如果我在会话中添加了一个新应用,那就是
session.add(MyApp(...))
session.commit()
但是如果插入来自另一个应用程序(例如:psql for postgres驱动程序),它就不起作用了。
如果插入来自其他应用程序,谁知道如何获得该事件?
答案 0 :(得分:1)
您不能,事件是应用程序的内部事件。如果要检测外部更改,可以编写一个触发器函数,甚至可能在PL / Python中,以某种方式在数据库级别发生某些事件时通知您的应用程序。