跳转至

SQLAlchemy CRUD Plus

SQLAlchemy CRUD Plus 是基于 SQLAlchemy 2.0 的异步 CRUD 操作库,提供简洁的 API 和强大的查询功能。

特性

  • 简化的 CRUD 操作 - 统一的 API 接口,支持批量操作
  • 关系查询支持 - 预加载策略和 JOIN 查询,避免 N+1 问题
  • 丰富的过滤条件 - 支持 30+ 种过滤操作符
  • 类型安全 - 完整的类型提示支持
  • 异步支持 - 基于 SQLAlchemy 2.0 异步引擎
  • 复合主键支持 - 支持多字段主键操作

快速开始

安装

pip install sqlalchemy-crud-plus

基本用法

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']
)

文档导航