flask ORM操作方法

Posted szpnx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask ORM操作方法相关的知识,希望对你有一定的参考价值。

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

过滤器 说明
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操作方法的主要内容,如果未能解决你的问题,请参考以下文章

Flask ORM SQLAlchemy数据操作完整案例

Flask ORM SQLAlchemy数据操作完整案例

Flask的ORM方法

Flask 获取POST GET基本方法

Flask数据库

Flask-SQLAlchemy 学习总结