Hasty Briefsbeta

双语

SQLAlchemy 2 In Practice - Chapter 8: SQLAlchemy and the Web

a day ago
  • SQLAlchemy可以通过使用db.py和models.py以及会话上下文管理器,无需特殊集成即可集成到Web应用中。
  • 为避免长导入列表和命名冲突,只导入父模块(sqlalchemy as sa, sqlalchemy.orm as so),并通过前缀访问符号。
  • 为Web API进行的模型序列化可以通过在每个模型中添加to_dict()方法来实现,该方法返回可序列化为JSON的字典,并递归包含相关对象。
  • Alchemical包通过将Engine、MetaData、Model基类和Session封装到单个Alchemical实例中,简化了SQLAlchemy的设置,内置了对Flask和异步的支持。
  • 使用Flask和FastAPI的示例Web应用演示了一个带有分页、排序和搜索功能的服务器端表格,使用了两个查询:一个用于总数,一个用于分页数据。
  • Flask路由使用蓝图和由Alchemical自动管理的会话,而FastAPI使用带有显式会话上下文管理器的异步端点。