Sql Alchemy之前选择的事件

时间:2012-03-27 17:21:24

标签: events select sqlalchemy

我正在使用SQL Alchemy,我需要在SQLA执行select语句之前做一些工作。所以我发现最好的方法是使用SQLA Event,但我找不到合适的before-select事件。它在那里,但我很难找到。

如果不存在,有人可以告诉我如何编写自定义事件吗?

任何建议的Thx。 最好的祝福 加布

1 个答案:

答案 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。感谢所有为此问题做出贡献的人。