数据库
首页 > 数据库> > mysql-SQLAlchemy子字符串过滤

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()

标签:postgresql,sqlalchemy,flask-sqlalchemy,sql,mysql
来源: https://codeday.me/bug/20191118/2028674.html