跳到主要内容

get_flask_sqlalchemy_lite

函数源码

(
db: flask_sqlalchemy_lite.SQLAlchemy,
model_class: type[_ModelLite],
) = get_flask_sqlalchemy_lite[_ModelLite](
model_class: type[_ModelLite],
app: Flask | None = None,
engine_options: Mapping[str, Any] | None = None,
session_options: Mapping[str, Any] | None = None,
)

在兼容前提下,获取Flask SQLAlchemy Lite数据库扩展实例。

该方法将试图获取flask_sqlalchemy_lite.SQLAlchemy数据库扩展对象。若失败(所依赖的包未安装),则退回到使用flask_sqlalchemy.SQLAlchemy模拟flask_sqlalchemy_lite.SQLAlchemy接口的做法。

别名

该函数可以按以下方式之一获取

import flask_sqlalchemy_compat as fsc


fsc.get_flask_sqlalchemy_lite
fsc.auto.get_flask_sqlalchemy_lite

参数

输入

参数类型必选
说明
model_classtype[_ModelLite]应用到整个数据库的基础ORM模型类型。若flask_sqlalchemy_lite可用,该类型将会直接按原样传递到输出,且不作任何改动。不过,若数据库对象退回到了flask_sqlalchemy提供的版本,该类型则仅用于创建数据库扩展所持有的模型类型。
appFlask | None向该Flask应用调用init_app方法。若未指定该值,则不会调用init_app
engine_optionsMapping[str, Any] | None该配置将会在创建每个引擎时,传递给构造函数sqlalchemy.create_engine
session_optionsMapping[str, Any] | None用来配置sessionmaker的参数。
  • 其中,_ModelLitesa.orm.DeclarativeBaseTypeVar

输出

参数类型
说明
dbflask_sqlalchemy_lite.SQLAlchemy

SQLAlchemy Lite扩展实例。当所需的包可用时,该值将是flask_sqlalchemy_lite.SQLAlchemy的实例。

若缺少所需的包,会尝试返回SQLAlchemyLiteProxy[flask_sqlalchemy.SQLAlchemy]实例。但这种情况下,返回值仍然会注解为flask_sqlalchemy_lite.SQLAlchemy。亦即是说,用户应当使用flask_sqlalchemy_lite开发代码,并将该返回值作为一个备选来处理。

model_classtype[_ModelLite]

dbflask_sqlalchemy_lite.SQLAlchemy,则直接返回model_class参数。

dbSQLAlchemyLiteProxy[flask_sqlalchemy.SQLAlchemy],则返回db.Model作为备选。