查询
查询全部
模型类.query.all()
查询详情
get
模型类.query.get(主键的值)
查询结果是一个对象,如果不存在,结果为None
get_or_404
模型类.query.get_or_404(主键的值)
查询结果是一个对象,如果不存在抛出404异常
filter_by
模型类.query.filter_by(字段=值)的结果是一个查询集.可配合first()使用
filter 过滤
filter支持python中的所有比较运算符:==、!=、>、<、<=、>=
模型类.query.filter(模型类.字段名 比较运算符 条件参数).all()
all()时为了获取查询结果
逻辑运算符
需要导包
from sqlalchemy import or_,and_,not_
or_:获取该模型类中满足条件中任意一个的值
模型类.query.filter(or_(条件1,条件2).all()
and_:获取该模型类中满足所有条件的值
模型类.query.filter(or_(条件1,条件2).all()
not_:获取该模型类中不满足条件值
模型类.query.filter(not_(条件1,条件2).all()
判断
not_,~
查询一个字段不为空的所有值,~与not_作用相同
模型类.query.filter(not_(模型类.字段.is_(None).all()
模型类.query.filter(~(模型类.字段.is_(None).all()
in_
模型类.query.filter(模型类.字段.in_(给定区间比如列表).all()
模糊查询
sql语句模糊查询中
通配符:
% :代表任意个任意字符
_ :代表任意一个字符
示例:
查询某个字段中包含参数的值
模型类.query.filter(模型类.字段.like(‘%{}%‘.format(参数).all()
查询某个字段中以参数开头的值
模型类.query.filter(模型类.字段.like(‘{}%‘.format(参数).all()
查询某个字段中以参数结尾的值
模型类.query.filter(模型类.字段.like(‘%{}‘.format(参数).all()
排序
from sqlalchemy import desc,asc
以给定参数排序,默认升序
模型类.query.filter.order_by(参数).all()
降序
模型类.query.filter.order_by(desc(参数)).all()
原文:https://www.cnblogs.com/history0403/p/14856504.html