flask-sqlalchemy查询数据库数据

我们使用flask框架怎么从数据库中查询数据?为此,Flask-SQLAlchemy 在您的 Model 类上提供了 query 属性。当您访问它时,您会得到一个新的所有记录的查询对象。在使用 all() 或者 first() 发起查询之前可以使用方法 filter() 来过滤记录。如果您想要用主键查询的话,也可以使用 get()

查询数据内置的方法

方法 意义
.all 查询所有结果
get(**kwargs) 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
filter(**kwargs) 它包含了所给筛选条件相匹配的对象
filter_by(**kwargs) 类似于filter,不过filter更加精确,不能用于like的模糊查询
exclude(**kwargs) 它包含了与所给筛选条件不匹配的对象
values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列, 返回的是查询出来的对象的具体的属性(数据库字段)
order_by(*field) 对查询结果排序
reverse() 对查询结果反向排序,请注意reverse()通常只能在具有已定义顺序的QuerySet上调用(在model类的Meta中指定ordering或调用order_by()方法
values_list(*field) 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列, 返回的是查询出来的对象的具体的属性(数据库字段)
distinct() 从返回结果中剔除重复纪录(如果你查询跨越多个表,可能在计算QuerySet时得到重复的结果。此时可以使用distinct(),注意只有在PostgreSQL中支持按字段去重。
count() 返回数据库中匹配查询(QuerySet)的对象数量
first() 返回第一条记录
last() 返回最后一条记录
exists() 如果QuerySet包含数据,就返回True,否则返回False
返回的对象
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。