在尝试了所有建议here之后,我仍然无法让SQLAlchemy显示正确的结果!
我已经使用了Nick的答案,session.commit(),flush()和expire_all()的各种组合,重新启动了MySQL,甚至重新启动了整个怪胎服务器,我仍然得到了旧的结果SQLAlchemy的... ????为什么
关于整个问题的最令人愤怒的事情是,我可以从任何其他应用程序,甚至直接connection.execute()调用中看到更新的数据存在。我无法让它显示在网页上!
顺便说一下,这是一个金字塔应用程序,而不是Flask,但由于金字塔是99%的Flask,它不应该有所作为,对吧?
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