我通过mariadb / mysql使用SQLAlchemy进行查询,例如:
while True:
row = session.query(SomeTable).filter(SomeTable.test_field==None).first()
if row: print(row.id)
这时所有行都有test_field = 1
如果我用test_field = None
手动更新了一个或多个行,甚至插入了一条新记录,结果也不会更新,我尝试:session.expire_all()
没有成功。
我如何让会话在每次迭代中获得与数据库同步的所有结果?
我还尝试了每次迭代创建一个新会话,但是即使使用session.close()
,也需要一段时间才能真正关闭连接,有时甚至超过max_connections
。