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