微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql-SQLAlchemy子字符串过滤

我在我的Postgresql数据库中存储了Bags的类型:[“ Clutch Bags”,“ Shoulder Bags”,“ Tote Bags”].我正在编写一个基于python flask的API端点,用户可以使用该端点提供搜索词,例如“ Red Shoulder Bag”或“ Grey Clutch Bag”.现在,我想使用sqlAlchemy编写查询,以便对于这些给定的搜索词,我能够在Bags表中查找该值.我写了这个,但是仅当用户输入的搜索字符串为复数时才有效,如果用户输入“灰色手拿包”则不起作用

    categories = db.session.query(Bags.id) \
    .filter(literal(search_string).ilike(func.concat('%', Bags.type, '%')))\
    .all()

过滤时,如何从数据库中的袋类型中删除结尾的“ s”?我希望能够这样查询

type_in_db = "Clutch Bags" 
search_string = "Grey Clutch Bag"

if type_in_db.rstrip('s') in search_string:
    return type_in_db

解决方法:

我不是非常熟练的python开发人员,但为什么不简单:

 categories = db.session.query(Bags.id) \
.filter(Bags.type.like('%'+search_string+'%'))\
.all()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐