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 |