Sqlalchemy返回“陈旧”行?

时间:2013-05-16 11:21:31

标签: python mysql sqlalchemy

我有一个表(MySQL),其中有一行。

我可以用以下方式阅读:

self._session.query(Automatic).\
             filter(Automatic.do_when <= time()).\
             limit(limit).\
             all()

但是,如果我然后从表中删除行(使用mysql客户端或phpMyAdmin),则上面的代码仍会返回该行。我不知道这是否与“How to disable SQLAlchemy caching?”问题有关。

编辑: 添加

self._session.commit()

之后没有任何区别。

1 个答案:

答案 0 :(得分:11)

编辑:根据eggyal's解释,在阅读之前添加commit()就可以了。

self._session.commit()
self._session.query(Automatic).\
             filter(Automatic.do_when <= time()).\
             limit(limit).\
             all()