用途:在 Advanced Alchemy 中实现服务层,承载业务规则、模式校验、数据转换与多仓储协同操作,避免把控制器或路由逻辑混入服务。
主要能力:以 SQLAlchemyAsyncRepositoryService 或 SQLAlchemySyncRepositoryService 包装仓储;为创建、更新、读取流程定义模式类型;显式设置 repository_type、loader options 与 match_fields;仅在存在真实领域规则(如生成 slug、多模型协同)时重写 create()、update() 或 to_model();用 to_schema() 转换出站模型,避免把 ORM 实例泄漏到传输层。模式转换支持 Pydantic、Msgspec 和 attrs。
使用方式:从仓储出发,用服务类包装它。示例:from advanced_alchemy.service import SQLAlchemyAsyncRepositoryService;class PostService(SQLAlchemyAsyncRepositoryService[Post, PostRepository]): repository_type = PostRepository。服务可接受字典或模式对象,但需在服务内统一规范化。多仓储工作流应保持原子性并明确提交行为。
校验清单:确认服务输入在创建与更新路径都能转换为模型;确认 to_schema() 返回所选模式库期望的响应结构;确认自定义重写不破坏仓储不变量;确认复杂操作加载了所依赖的关系。
相关技能:持久化操作使用 advanced-alchemy-repositories;将服务方法映射到 CRUD 端点使用 advanced-alchemy-routing;框架依赖注入与请求处理使用 advanced-alchemy-litestar、advanced-alchemy-fastapi 或 advanced-alchemy-flask。
限制:资料未提供具体版本要求、安装命令、性能数据或收费信息。