我正在使用 SQLAlchemy 在 Flask 上构建一个界面,其中一部分是搜索 API。本质上,预先输入的输入是使用其值(例如电子邮件)调用服务器,然后服务器正在使用 .like 在如下过滤器中执行 SQLalchemy 查询
q = session.query(User).filter(User.email.like('%'+term+'%')).all()
这个查询并没有真正返回任何有用的东西,在前几个字符之后,什么也没有。但是,如果我使用硬编码术语执行相同的查询,如下所示:
q = session.query(User).filter(User.email.like('%mysearchterm%')).all()
它会完美地返回结果,所以我如何将术语放入 like() 方法中,但我真的无法弄清楚问题是什么。该术语来自 ajax POST 并且该值存在于服务器端,只是 .like() 没有正确使用它。
“没什么用”是指返回的第一组结果与输入的实际术语无关,在长度高于 3-4 的术语之后,尽管数据库中存在匹配项,但没有返回任何结果。
非常感谢任何帮助。