Code前端首页关于Code前端联系我们

Flask Web 教程 – SqlAlchemy(A 部分)

terry 2年前 (2023-09-24) 阅读数 69 #后端开发

1。 ORM模型设计

在MTV架构中,M表示模型层负责与数据库交互。 ORM(Object Relational Mapping)对象关系映射可以将具体的模型与数据库中的表一一对应,模型对象的属性与数据库表的字段一一对应。 ;对数据库表的操作都是通过模型的操作来实现的

ORM的重要特点:

  • 基于面向对象的编程思想
  • 几乎不写SQL,提高开发效率Portss❀Sups

SQLAlchemy

SQLAlchemy它是第一个提供SQL工具包和对象关系映射(ORM)工具的工具。第三方库和Flask框架本身没有ORM功能,所以必须使用Flask-SQLAlchemy扩展来实现ORM。 Flask-SQLAlchemy的介绍请参见到官方文档。

Flask 的 ORM 扩展必须单独安装,但 mysqlclient 必须提前安装。取决于

# 依赖
pip3 install mysqlclient
pip3 install Flask-SQLAlchemy

Flask-SQLAlchemy 连接数据库的配置如下:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://用户名:密码@数据库地址/要连接的数据库'
复制代码

SQLALCHEMY_DATABASE_URI,数据库URI既是统一的资源定位符,也是用于标识它的资源名称。字符串

如果要配置多个数据库,可以使用这种方式

SQLALCHEMY_BINDS = {
    'mysql': 'mysqldb://localhost/数据库',
    'sqlite': 'sqlite:////path/to/数据库'
}

ORM模型创建

在PyCharm中新建一个Flask项目flask-sqlalchemy ❀U必须先是ORM模型Flask对象,后在app.py中创建flask对象,将该对象绑定到数据库

from flask_sqlalchemy import SQLAlchemy

# 配置数据库连接
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:root@localhost/flask'
# 绑定Flask对象
db = SQLAlchemy(app)

然后在文件中设计数据库模型用户

# 设计数据库模型
class User(db.Model):
    # 指定表名称
    # __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), nullable=False)
    password = db.Column(db.String(256), nullable=False)
    birth_date = db.Column(db.Date, nullable=True)
    age = db.Column(db.Integer, default=0)

在终端中运行create命令,输入python3,创建表或删除表运行以下命令

from app import db
db.create_all() # 创建所有的表
db.drop_all() # 删除所有的表

退出命令行,再次进入,先删除,后创建。如果不指定表名,默认表名是sys+模型名首字母小写 String(size)

字符串,字符串长度由max_lenght指定 Text长文本DatumTimee,对应于 datee olean 布尔类型 PickleType 作为持久 Python 对象保存LargeBinary 存储任意大的二进制数据

作者:RiemannHypothesis
来源:Rare Earth Nuggets

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门