我有一个简单的表定义:
my_table = Table(
'table_name', db.Model.metadata,
Column('id1', Integer, ForeignKey('other1.id'), nullable=False),
Column('id2', Integer, ForeignKey('other2.id'), nullable=False)
)
我想在上面注册before_insert
和before_update
事件。
但是,我找不到任何这样的示例,并且想知道它是否必要。尝试显式调用event.listen
会失败,并显示错误,并且在调试器中,我可以看到表类仅具有以下要监听的事件:
'after_create',
'after_drop',
'after_parent_attach',
'before_create',
'before_drop',
'before_parent_attach',
'column_reflect'
有没有一种方法可以监听表而不将其转换为完整的模型?
答案 0 :(得分:0)
尝试listens_for
。似乎为我工作!
@sa.event.listens_for(my_table, 'after_create')
def after_create_my_table(target, connection, **kw):
pass