首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将字符串传递给SQLAlchemy的.like()方法

如何将字符串传递给SQLAlchemy的.like()方法
EN

Stack Overflow用户
提问于 2012-09-14 13:00:58
回答 1查看 7.1K关注 0票数 10

我正在使用SQLAlchemy在Flask上构建一个界面,其中一部分是一个搜索应用程序接口。实际上,预先键入的输入是用它的值调用服务器(例如,一封电子邮件),然后服务器在如下所示的过滤器中使用.like执行SQLalchemy查询

代码语言:javascript
复制
q = session.query(User).filter(User.email.like('%'+term+'%')).all()

这个查询实际上没有返回任何有用的东西,并且在前几个字符之后,什么也没有返回。但如果我使用术语硬编码执行相同的查询,如下所示:

代码语言:javascript
复制
q = session.query(User).filter(User.email.like('%mysearchterm%')).all()

它会很好地返回结果,所以我将术语放入like()方法中的方式有些问题,但我真的不知道问题是什么。这个术语来自ajax POST,它的值在服务器端,只是.like()没有正确使用它。

所谓“没有什么用”,我的意思是,返回的第一组结果与实际输入的项无关,在长度大于3-4的项之后,即使数据库中存在匹配的项,也不会返回任何结果。

非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-09-14 14:03:13

问题已解决。这个查询位于一个更大的查询构建器函数中,该函数在后面的函数中对查询应用了限制和偏移量,因为限制和偏移量高于返回的结果的数量,返回的结果集为空。

这可能会导致严重的人为错误和睡眠不足。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12418400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档