跳到主要内容

SQLAlchemyLiteProtocol

类型源码

db: SQLAlchemyLiteProtocol

和Flask SQLAlchemy Lite兼容的协议。

相比Flask SQlAlchemy,Flask SQLAlchemy Lite提供的功能更少,并且它只支持Python>=3.9。尽管该包较新,但仍建议使用它,因为它与SQLAlchemy>=2和Python的typing系统契合得更好。

该协议涵盖了flask_sqlalchemy_lite.SQLAlchemy的大多数、但非全部功能。

别名

该类型可以按以下方式之一获取

import flask_sqlalchemy_compat as fsc


fsc.SQLAlchemyLiteProtocol
fsc.protocols.SQLAlchemyLiteProtocol

协议方法

init_app

db.init_app(app: App)

按照Flask.config创建engine,并将数据库扩展注册到应用中。

协议属性

engine

db.engine: sa.engine.Engine

当前应用关联的默认engine。


engines

db.engines: dict[str, sa.engine.Engine]

当前应用关联的所有engine。


sessionmaker

db.sessionmaker: sa.orm.sessionmaker[sa.orm.Session]

当前应用所设置的会话工厂类,可直接用来创建会话。但须知透过这种方式创建的会话、不会在离开应用上下文时、自动关闭。若需要该功能,建议使用sessionget_session


session

db.session: sa.orm.Session

当前应用的默认会话。在离开应用上下文时、自动关闭。


async_engines

db.async_engines: dict[str, sa.async.AsyncEngine]

当前应用关联的所有异步engine。


async_engine

db.async_engine: sa.async.AsyncEngine

当前应用关联的默认异步engine。


async_sessionmaker

db.async_sessionmaker: sa.async.async_sessionmaker[sa.async.AsyncSession]

当前应用所设置的异步会话工厂类。


async_session

db.async_session: sa.async.AsyncSession

当前应用的默认异步会话。在离开应用上下文时、自动关闭。