Python 正确刷新SQLAlchemy会话以查看外部更新的数据
在尝试了所有建议之后,我仍然无法让SQLAlchemy显示正确的结果 我使用了Nick的答案、session.commit()、flush()和expire_all()的各种组合,重新启动了MySQL,甚至重新启动了整个该死的服务器,我仍然从SQLAlchemy获得了旧的结果…为什么 整个问题中最令人恼火的是,我可以从任何其他应用程序,甚至从直接连接.execute()调用中看到更新的数据就在那里。我就是不能让它显示在网页上Python 正确刷新SQLAlchemy会话以查看外部更新的数据,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,在尝试了所有建议之后,我仍然无法让SQLAlchemy显示正确的结果 我使用了Nick的答案、session.commit()、flush()和expire_all()的各种组合,重新启动了MySQL,甚至重新启动了整个该死的服务器,我仍然从SQLAlchemy获得了旧的结果…为什么 整个问题中最令人恼火的是,我可以从任何其他应用程序,甚至从直接连接.execute()调用中看到更新的数据就在那里。我就是不能让它显示在网页上 顺便说一句,这是一个金字塔应用程序,不是烧瓶,但由于金字塔是99%烧瓶
顺便说一句,这是一个金字塔应用程序,不是烧瓶,但由于金字塔是99%烧瓶,它应该不会有什么区别,对吗 MTIA在这方面的任何帮助,都快把我逼疯了 PS:我试图将此添加为链接问题的答案,但因不是有效答案而被删除。所以,作为将来的参考,如果我只想在一个现有的问题上添加一些东西,而不必发布一个全新的问题,我会怎么做呢 编辑:我的道歉zvone,这是我的代码:
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
session = DBSession()
query = session.query(Item).join(Item.tagged)
filters = []
for term in searchTerms:
subterms = term.split(' ')
for subterm in subterms:
filters.append(Item.itemTitle.like('%' + subterm + '%'))
filters.append(Tag.tagName.like('%' + subterm + '%'))
query = query.filter(or_(*filters))
matchedItems = query.all()
为了让它更有意义,这里是上下文:
searchTerms
,这是一个Python列表,其中包含输入字段的所有术语searchTerms
,将短语拆分为单独的单词,并为每个单词添加查询过滤器再次感谢您的帮助!:D是的,要添加与现有问题相关的内容,请编写一个新问题。这是正确的做法。但问题中缺少一件事:您的代码。为了了解是什么原因导致您的案例出现问题,我们必须查看您的代码。把所有的irrlevant都拿走。只保留打开会话、从数据库读取数据以及打印错误值的部分。确认这样减少的代码仍然会复制错误,然后将其粘贴到这里。“但由于金字塔是99%的烧瓶,所以不会有什么区别,对吧?”这几乎是100%的错误。它们是完全不同的框架。@ilja我很抱歉,我以为金字塔是基于Flask的,但我猜我错了。很可能你在事务隔离和事务未关闭方面遇到了问题,而你认为它们是。是的,要添加与现有问题相关的内容,请写一个新问题。这是正确的做法。但问题中缺少一件事:您的代码。为了了解是什么原因导致您的案例出现问题,我们必须查看您的代码。把所有的irrlevant都拿走。只保留打开会话、从数据库读取数据以及打印错误值的部分。确认这样减少的代码仍然会复制错误,然后将其粘贴到这里。“但由于金字塔是99%的烧瓶,所以不会有什么区别,对吧?”这几乎是100%的错误。它们是完全不同的框架。@ilja我很抱歉,我以为金字塔是基于Flask的,但我想我错了。很可能您在事务隔离和事务未关闭方面遇到了问题,而您认为是这样。