用途:为 Python 应用提供 SQLAlchemy ORM 的现代模式参考,覆盖数据库访问的常见任务,基于 SQLAlchemy 2.0+。
主要能力:模型定义采用 DeclarativeBase、Mapped 与 mapped_column,支持 UUID、Decimal、String 等类型及默认值;会话管理通过 create_engine 与 sessionmaker 创建引擎和会话,并提供 get_db 生成器模式;查询模式包含 select 语句、filter 过滤、按 ID 获取(session.get)与计数;upsert 使用 PostgreSQL 方言的 insert 配合 on_conflict_do_update 实现冲突更新;关系映射通过 relationship 与 back_populates 建立双向关联;JSON 列使用 JSON 类型并支持按键查询。
使用方式:按资料中的代码片段定义 Base 与模型类,创建引擎和会话工厂,在查询中构造 select 或使用 session.query,执行后通过 scalars().all() 获取结果;upsert 需导入 sqlalchemy.dialects.postgresql 的 insert,执行后调用 session.commit()。
适用场景:需要以 ORM 方式访问关系型数据库的 Python 项目,尤其是使用 PostgreSQL 并需要 upsert 或 JSON 列查询的场景。
限制:资料未提供安装命令、版本兼容细节、异步用法及性能优化说明,仅提及可参考 references/ 目录获取模型模式、查询优化与异步 SQLAlchemy 内容;部分示例混用 2.0 风格与旧式 session.query 写法。