跳到主要内容

API总览

模块包源码

本项目提供了针对flask_sqlalchemyflask_sqlalchemy_lite的兼容性支持。藉此以最小的修改,实现从其中之一向另一包的相互迁移。

设计此包的主要目的,是因为flask_sqlalchemy_lite不支持python<=3.8。此包在python<=3.8时,透过flask_sqlalchemy实现了类似flask_sqlalchemy_lite的接口、并提供了相似的用法。因此,当用户需要兼容到低版本时,此包免去了维护两套代码的麻烦。

Docusaurus themed imageDocusaurus themed image

上图展示了整个模块包的大体结构,其中只包含各个模块。

模块

成员
说明
auto用来在兼容模式下构建SQLAlchemy扩展的方法。
backdict一个调整后的dict实现。
backendsflask_sqlalchemy_compat的后端引擎包。
flask_sa_api用来模拟flask_sqlalchemy.SQLAlchemy() API效果的代理封装。
flask_sa_lite_api用来模拟flask_sqlalchemy_lite.SQLAlchemy() API效果的代理封装。
protocols该包定制的协议类型注解。
utilities用来钩入原始SQLAlchemy扩展的额外功能。

别名

成员
别名取自
SQLAlchemyProtocolfsc.protocols.SQLAlchemyProtocol
SQLAlchemyLiteProtocolfsc.protocols.SQLAlchemyLiteProtocol
ModelProtocolfsc.protocols.ModelProtocol
TableNameGetterfsc.utilities.TableNameGetter
QueryGetterfsc.utilities.QueryGetter
SQLAlchemyProxyfsc.flask_sa_api.SQLAlchemyProxy
SQLAlchemyLiteProxyfsc.flask_sa_lite_api.SQLAlchemyLiteProxy
as_flask_sqlalchemyfsc.flask_sa_api.as_flask_sqlalchemy
as_flask_sqlalchemy_litefsc.flask_sa_lite_api.as_flask_sqlalchemy_lite
get_flask_sqlalchemyfsc.auto.get_flask_sqlalchemy
get_flask_sqlalchemy_proxy_verfsc.auto.get_flask_sqlalchemy_proxy_ver
get_flask_sqlalchemy_litefsc.auto.get_flask_sqlalchemy_lite
get_flask_sqlalchemy_lite_proxy_verfsc.auto.get_flask_sqlalchemy_lite_proxy_ver