Sqlalchemy返回“过时"行? [英] Sqlalchemy returns "stale" rows?

查看:76
本文介绍了Sqlalchemy返回“过时"行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a table (MySQL) with a row in it.

我可以用

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

但是,如果我然后从表中删除该行(使用mysql客户端或phpMyAdmin),则该行仍由上面的代码返回.我不知道这是否与问题"如何禁用SQLAlchemy缓存?".

However, if I then delete the row from table (with the mysql client or phpMyAdmin), the row is still returned by the code above. I don't know if this is related to the question "How to disable SQLAlchemy caching?".

添加

self._session.commit()

之后没什么区别.

推荐答案

根据 eggyal的解释.

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

这篇关于Sqlalchemy返回“过时"行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆