Python 【flask-mysql】请问 flask 中怎么实现 “类似于 mybatis 的动态 sql”

cooling · 2022年05月28日 · 最后由 残枫 回复于 2022年06月06日 · 6853 次阅读

【flask-mysql】请问 flask 中怎么实现 “类似于 mybatis 的动态 sql”

最佳回复
cooling 回复

一般来说,query 后面一般不写就是查询全部,filter_by 和 filter 默认用 filter,其他的没啥毛病

共收到 5 条回复 时间 点赞

不确定你认为的动态 sql 是怎样的,但 flask 中一般推荐 orm 工具 SQLAlchemy 集成。
如果想实现动态 sql 也简单,如下

query=db.session.query(x1,x2,x3).filter(公共条件)
if 情况1:
    query=query.filter(条件1)
if 情况2:
    query=query.filter(条件2)
rst=query.order_by(排序).all()

有的,只是没有 mybatis 那样的写法,flask-sqlalchemy 也有差不多的过滤的写法,比如:

params = {'id': 1, 'name': 'lily'}
query.filter(**params)

所以你就差不多等于怎么去拼接这个 dict 就好了,参考:https://discuss.helloflask.com/t/topic/452

JoyMao 回复

谢谢大哥指导,已实现功能:

残枫 回复

谢谢大哥的指导,已实现功能

cooling 回复

一般来说,query 后面一般不写就是查询全部,filter_by 和 filter 默认用 filter,其他的没啥毛病

cooling 关闭了讨论 06月06日 12:31
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册