Flask从数据库中查询数据的filter和filter | 您所在的位置:网站首页 › telphone和phone区别 › Flask从数据库中查询数据的filter和filter |
一、问题描述
Flasky查询数据的时候,会需要用到过滤器来根据一定的条件筛选。其中,有两个方法filter和filter_by看起来很像,那么它们的区别是什么呢? 二、对比官方文档是这样写的: Query.filter() - filter on SQL expressions. Query.filter_by() - filter on keyword expressions. 也就是说,它们俩接受的参数类型不一样。 1. filter接受的参数是一个类似于SQL表达式的值 u=User.query.filter(User.username=='john').first()注意:这里要遵循Python的语法,表示相等的比较操作符是==;而且,要显式地指出username是哪个模型类的字段。 既然参数是一个表达式,它能做的就更多。请看下面的例子: #查询出了id值大于90的所有用户 users=User.query.filter(User.id>90).all()2.filter_by接受的参数是关键字参数 u=User.query.filter_by(username='jessica').first()相较于filter的表达式参数,filter_by里的关键词参数写起来更加简洁,但是它不能用>或者 |
CopyRight 2018-2019 实验室设备网 版权所有 |