SQLAlchemy CRUD Plus¶
SQLAlchemy CRUD Plus 是基于 SQLAlchemy 2.0 的异步 CRUD 操作库,提供简洁的 API 和强大的查询功能。
特性¶
- 简化的 CRUD 操作 - 统一的 API 接口,支持批量操作
- 关系查询支持 - 预加载策略和 JOIN 查询,避免 N+1 问题
- 丰富的过滤条件 - 支持 30+ 种过滤操作符
- 类型安全 - 完整的类型提示支持
- 异步支持 - 基于 SQLAlchemy 2.0 异步引擎
- 复合主键支持 - 支持多字段主键操作
快速开始¶
安装¶
基本用法¶
from sqlalchemy_crud_plus import CRUDPlus
# 创建 CRUD 实例
user_crud = CRUDPlus(User)
# 创建记录
user = await user_crud.create_model(session, user_data)
# 查询记录
user = await user_crud.select_model(session, pk=1)
users = await user_crud.select_models(session, is_active=True)
# 更新记录
await user_crud.update_model(session, pk=1, obj=update_data)
# 删除记录
await user_crud.delete_model(session, pk=1)
# 过滤查询
users = await user_crud.select_models(
session,
name__like='%admin%',
age__ge=18,
email__endswith='@example.com'
)
# 关系查询
users = await user_crud.select_models(
session,
load_strategies=['posts', 'profile']
)