SuperAPI AI 工具集

python-sqlalchemy

编程与开发

查看项目

更新于 10-16 06:45

技能介绍

用途:提供 Python 应用中现代 SQLAlchemy 2.0+ 的数据库访问模式参考,用于定义模型、编写查询、实现 Upsert、处理 JSON 列以及管理关系与异步访问。

主要能力: 模型定义——使用 DeclarativeBase、Mapped 与 mapped_column,支持 UUID、Decimal、String 等类型,并可为字段设置默认值。 会话管理——通过 create_engine 创建引擎,用 sessionmaker 绑定会话,并以 get_db 生成器形式在请求中提供会话并在结束后关闭。 查询模式——支持 select 语句加 where 过滤、scalars().all() 取结果、session.query 过滤 in_stock、session.get 按主键取单条、session.query(...).count() 计数。 Upsert——使用 PostgreSQL 方言 insert,配合 on_conflict_do_update 与 index_elements,通过 stmt.excluded 引用新值更新冲突行,执行后 commit。 关系映射——使用 relationship 与 back_populates 建立双向一对多关系,并用 ForeignKey 声明外键。 JSON 列——使用 JSON 类型声明字典字段,可按 JSON 键过滤查询,如 settings["theme"] == "dark"。

使用方式:按资料所示模式在 Python 项目中引入相应模块并组合使用;示例使用 PostgreSQL 连接串,其他数据库需自行调整方言与连接。

适用场景:需要为 Python 应用设计 ORM 模型、编写查询或实现冲突更新时的参考。

限制:资料仅给出上述模式片段,未提供安装步骤、版本兼容范围、性能基准或完整异步示例细节;references/ 中提到的模型模式、查询优化与异步 SQLAlchemy 内容在给定资料中未展开。