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,并将数据库扩展注册到应用中。
- 其中
App
是flask.sansio.app.App
的TypeVar
。
协议属性
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]
当前应用所设置的会话工厂类,可直接用来创建会话。但须知透过这种方式创建的会话、不会在离开应用上下文时、自动关闭。若需要该功能,建议使用session
或get_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
当前应用的默认异步会话。在离开应用上下文时、自动关闭。