您好,我目前有一个使用db.event.listens_for()
作为触发器的数据库模型。如何在db.event.listens_for(MODEL,“_....”之后)运行多个方法
例如
@db.event.listens_for(Order, "after_delete")
def update_table_status(mapper, connection, target):
# print('Checking if the table contains orders')
table = Tables.__table__
orders = Order.query.filter_by(tables_id=target.tables_id).filter(Order.checkout_id == None).all()
# print(orders)
# print(target.tables_id)
if len(orders) == 0:
# print('No orders associated to the table.')
connection.execute(table.update().where(table.c.id == target.tables_id).values(active=0))
# firebase_table(target.store_id)
else:
# print('Orders still associated to the table.')
connection.execute(table.update().where(table.c.id == target.tables_id).values(active=1))
# firebase_table(target.store_id)
是有办法组在一起的多个方法和仅具有一个使用该装饰的执行间歇操作?
一个类可能吗?
@db.event.listens_for(Order, "after_delete")
class OrdersAfterDelete:
def DOA(self):
#do stuff
def DOB(self):
#do stuff
你为什么不写一个调用其他函数并装饰它的函数? –
可以工作。但是有没有一种方法可以由一个类来实现呢? –
对不起,我不知道。我几年没有使用SQLAlchemy,这就是为什么我只是发表评论。 –