前言
获取结果的第一条数据,可以用first() 截取返回的前几天数据,可以用limit() 截图中间的几个数据用切片操作
first() 取出第一个
first() 会从查询结果中返回第一个值,如果没有结果返回None 如果有一个或多个结果返回第一个值,不会抛异常,所以用first()判断是否有结果也很方便
代码语言:javascript复制with app.app_context():
obj = Students.query.filter(Students.name == 'yy')
if obj.first():
print("查询到结果")
else:
print("未查询到结果")
limit() 限制返回条数
limit(1).all()
取出查询结果第一条数据
a = Students.query.order_by(Students.id).limit(1).all()
print(a)
如果查询结果为空,limit() 取值不会报错,返回[]
代码语言:javascript复制a = Students.query.filter(Students.name == 'xx').limit(1).all()
print(a)
# 查询结果为空返回[]
取出前3条数据示例
代码语言:javascript复制a = Students.query.limit(3).all()
print(a)
切片取值
limit() 只能取出前几条数据,如果想取出中间的,比如第2到3个,可以用切片
代码语言:javascript复制a = Students.query.all()
print(a[1:3])
下标从0开始