最近开发使用到flask_SQLAlchemy,遇到filter()跟filter_by(),但是分不清两者区别,通过百度,发现跟自己实践验证不太一样,为此写下这篇博客记录,免得像我等小白被网上一些博客误导!!!
区别1
db.session.query(类名).filter(类名.属性名=='xxx')
db.session.query(类名).filter_by(属性名='xxx')
区别2
网上大部分博客说filter()不能支持组合查询,需要连用filter(),经验证,此说法是不全面的,除了连用filter(),filter()还有以下2,3两种方法可以进行组合查询
1.filter组合查询
①、db.session.query(类名).filter(类名.属性名1=='xxx').filter(类名.属性名2=='xxx')
②、db.session.query(类名).filter(类名.属性名1=='xxx',类名.属性名2=='xxx')
③、db.session.query(类名).filter(and_(类名.属性名1=='xxx',类名.属性名2=='xxx'))
2.filter_by组合查询
①、db.session.query(类名).filter(类名.属性名1=='xxx',类名.属性名2=='xxx')
原文链接:https://blog.csdn.net/qq_26343775/article/details/116003470
0 评论
大哥整点话呗~