目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

Python全系列 教程

3567个小节阅读:5929.7k

收藏
全部开发者教程

鸿蒙应用开发

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(1.6k)
赞(0)

Flask-SQLAlchemy的使用

image-20211123133158829

Flask-SQLAlchemy是一个插件,

Flask-SQLAlchemy是对SQLAlchemy进行了一个简单的封装的一个插件,

使得我们在flask中使用sqlalchemy更加的简单。

安装

Flask-SQLAlchemy的使用要点

数据库连接

数据库初始化不再是通过create_engine。

  1. 跟sqlalchemy一样,定义好数据库连接字符串DB_URI。

  2. 将这个定义好的数据库连接字符串DB_URI,通过SQLALCHEMY_DATABASE_URI这个key名配置到app.config中。

  3. 使用flask_sqlalchemy.SQLAlchemy这个类定义一个对象,并将app传入进去。

创建ORM模型类

之前都是通过Base = declarative_base()来初始化一个基类,然后再继承,在Flask-SQLAlchemy中更加简单了

  1. 还是跟使用sqlalchemy一样,定义模型。现在不再是需要使用delarative_base来创建一个基类。而是使用db.Model来作为基类
  2. 在模型类中,ColumnStringInteger以及relationship等,都不需要导入了,直接使用db下面相应的属性名就可以了
  3. 在定义模型的时候,可以不写__tablename__,那么flask_sqlalchemy会默认使用当前的模型的名字转换成小写来作为表的名字

并且如果这个模型的名字用到了多个单词并且使用了驼峰命名法,那么会在多个单词之间使用下划线来进行连接,

虽然flask_sqlalchemy给我们提供了这个特性,但是不推荐使用。(增强代码可读性,提高团队合作效率)

将ORM模型映射到数据库表

写完模型类后,要将模型映射到数据库的表中,使用以下代码即可

1. 删除数据库表:db.drop_all()

2. 创建数据库表:db.create_all()

session的使用

以后session也不需要使用sessionmaker来创建了,

直接使用db.session就可以了,

操作这个session的时候就跟之前的sqlalchemysession是一样一样的。

添加数据

这时候就可以在数据库中看到已经生成了对应表了

添加数据和之前的没有区别,只是session成为了一个db的属性

查询数据

  • 单表查询

查询数据不再是之前的session.query方法了,而是将query属性放在了db.Model上,

所以查询就是通过“模型名.query”的方式进行查询了,query就跟之前的sqlalchemy中的query方法是一样用的。

  • 多表查询

如果查找数据涉及多个模型,只能使用db.session.query(模型名).all() 这种方式

修改数据

修改数据和之前的没有区别,只是session成为了一个db的属性

删除数据

删除数据跟添加数据和修改数据类似,只不过session是db的一个属性而已

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2