码迷,mamicode.com
首页 > 其他好文 > 详细

flask ORM操作方法

时间:2020-11-10 11:10:51      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:none   nat   分组   name   wan   过滤   操作   offset   sql   

数据库操作
常用的查询过滤器

过滤器 说明
filter() 把过滤器添加到原查询上,返回一个新查询

filter_by() 把等值过滤器添加到原查询上,返回一个新查询

limit() 使用指定的值限定原查询返回的结果

offset() 偏移原查询返回的结果,返回一个新查询

order_by() 根据指定条件对原查询结果进行排序,返回一个新查询

group_by() 根据指定条件对原查询结果进行分组,返回一个新查询

常用的查询结果方法

方法 说明
all() 以列表形式返回查询的所有结果

first() 返回查询的第一个结果,如果未查到,返回None

first_or_404() 返回查询的第一个结果,如果未查到,返回404

get() 返回指定主键对应的行,如不存在,返回None

get_or_404() 返回指定主键对应的行,如不存在,返回404

count() 返回查询结果的数量

paginate() 返回一个Paginate对象,它包含指定范围内的结果

例:

返回名字等于wang的所有人

User.query.filter_by(name=‘wang‘).all()

first()返回查询到的第一个对象

User.query.first()

all()返回查询到的所有对象

User.query.all()

filter模糊查询,返回名字结尾字符为g的所有数据。

User.query.filter(User.name.endswith(‘g‘)).all()

get():参数为主键,如果主键不存在没有返回内容

User.query.get()

逻辑非,返回名字不等于wang的所有数据

User.query.filter(User.name!=‘wang‘).all()

not_ 相当于取反

from sqlalchemy import not_
User.query.filter(not_(User.name==‘chen‘)).all()

逻辑与,需要导入and,返回and()条件满足的所有数据from sqlalchemy import and_

User.query.filter(and_(User.name!=‘wang‘,User.email.endswith(‘163.com‘))).all()

逻辑或,需要导入or_

from sqlalchemy import or_
User.query.filter(or_(User.name!=‘wang‘,User.email.endswith(‘163.com‘))).all()

查询数据后删除

user = User.query.first()
db.session.delete(user)
db.session.commit()
User.query.all()

flask ORM操作方法

标签:none   nat   分组   name   wan   过滤   操作   offset   sql   

原文地址:https://www.cnblogs.com/szpnx/p/13950447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!