API总览
模块包源码
本项目提供了针对flask_sqlalchemy和flask_sqlalchemy_lite的兼容性支持。藉此以最小的修改,实现从其中之一向另一包的相互迁移。
设计此包的主要目的,是因为flask_sqlalchemy_lite不支持python<=3.8。此包在python<=3.8时,透过flask_sqlalchemy实现了类似flask_sqlalchemy_lite的接口、并提供了相似的用法。因此,当用户需要兼容到低版本时,此包免去了维护两套代码的麻烦。
上图展示了整个模块包的大体结构,其中只包含各个模块。
模块
| 成员 | |
|---|---|
| auto | 用来在兼容模式下构建SQLAlchemy扩展的方法。 |
| backdict | 一个调整后的dict实现。 |
| backends | flask_sqlalchemy_compat的后端引擎包。 |
| flask_sa_api | 用来模拟flask_sqlalchemy.SQLAlchemy() API效果的代理封装。 |
| flask_sa_lite_api | 用来模拟flask_sqlalchemy_lite.SQLAlchemy() API效果的代理封装。 |
| protocols | 该包定制的协议类型注解。 |
| utilities | 用来钩入原始SQLAlchemy扩展的额外功能。 |
别名
| 成员 | |
|---|---|
| SQLAlchemyProtocol | fsc.protocols.SQLAlchemyProtocol |
| SQLAlchemyLiteProtocol | fsc.protocols.SQLAlchemyLiteProtocol |
| ModelProtocol | fsc.protocols.ModelProtocol |
| TableNameGetter | fsc.utilities.TableNameGetter |
| QueryGetter | fsc.utilities.QueryGetter |
| SQLAlchemyProxy | fsc.flask_sa_api.SQLAlchemyProxy |
| SQLAlchemyLiteProxy | fsc.flask_sa_lite_api.SQLAlchemyLiteProxy |
| as_flask_sqlalchemy | fsc.flask_sa_api.as_flask_sqlalchemy |
| as_flask_sqlalchemy_lite | fsc.flask_sa_lite_api.as_flask_sqlalchemy_lite |
| get_flask_sqlalchemy | fsc.auto.get_flask_sqlalchemy |
| get_flask_sqlalchemy_proxy_ver | fsc.auto.get_flask_sqlalchemy_proxy_ver |
| get_flask_sqlalchemy_lite | fsc.auto.get_flask_sqlalchemy_lite |
| get_flask_sqlalchemy_lite_proxy_ver | fsc.auto.get_flask_sqlalchemy_lite_proxy_ver |