我正在使用SQL Alchemy,我需要在SQLA执行select语句之前做一些工作。所以我发现最好的方法是使用SQLA Event,但我找不到合适的before-select事件。它在那里,但我很难找到。
如果不存在,有人可以告诉我如何编写自定义事件吗?
任何建议的Thx。 最好的祝福 加布
答案 0 :(得分:1)
很抱歉没有写一段时间,但前段时间我做了我想做的事情。如果它是一种优雅的方式,我就不会这样做但是它有效。
所以我所做的就是编写自己的Session类:
class MySession(Session):
def execute(self, clause, params=None, mapper=None, **kw):
# Your magic with clause here
return Session.execute(self, clause, params, mapper)
然后你需要像这样创建你的会话:
Session = sessionmaker(engine, class_ = MySession)
希望它可以帮助那些在类似问题上挣扎的人:)
此致
P.S。感谢所有为此问题做出贡献的人。