【Flask】4个session(四)数据库会话对象

在前面的博客总结了四个session中的三个:

【Flask】4个session(一)状态保持及请求/应用向下文

【Flask】4个session(二)请求上下文对象

【Flask】4个session(三)Flask_session扩展包

今天抽出时间把第四个写完,并总结一下他们之间的关系。


这第四个session是依存于Flask_SQLAlchemy的,所以我们从SQLAlchemy说起

❶什么是SQLAlchemy?

答:SQLAlchemy是一个关系型数据库框架,它提供了高层的 ORM 和底层的原生数据库的操作,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升。

一句话:就是对数据库的抽象!

那在Flask中SQLAlchemy是怎么实现的呢?↙

❷什么是Flask-SQLAlchemy?

答:Flask-SQLAlchemy是一个简化了 SQLAlchemy 操作的flask扩展,是SQLAlchemy的具体实现,封装了对数据库的基本操作。

举例:如果说动物园是SQLAlchemy,那Flask-SQLAlchemy只是其中的一只。

Flask-SQLAlchemy详细内容见☞【Flask】什么是Flask-SQLAlchemy?

❸应用举例

指定数据库:

# 配置连接数据库
SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@localhost/数据库名'
SQLALCHEMY_TRACK_MODIFICATIONS = False

导入,并实例化sqlalchemy对象

# 导入flask_sqlalchemy
from flask_sqlalchemy import SQLAlchemy


# 实例化sqlalchemy对象
db = SQLAlchemy()

具体使用:

    # 提交数据到数据库中
    try:
        # 保存数据
        db.session.add(news)
        # 提交
        db.session.commit()
    except Exception as e:
        current_app.logger.error(e)
        # 回滚
        db.session.rollback()

几个session之间的关系图:

1、2、3中的“session”互相配合实现了状态保持,4中的数据库回话对象是独立的,与状态保持无关。

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值