背景
sqlmodel-nexus 是 pydantic-resolve 的简化版本,借助 SQLModel 提前固化了一些配置,节省了重复声明 schema 的成本,但也牺牲了一些灵活度。
核心对比
| 维度 |
pydantic-resolve |
sqlmodel-nexus |
| 数据源 |
任意(ORM、API、文件…) |
SQLModel(数据库) |
| Schema 声明 |
每层手写 |
复用 SQLModel 定义 |
| 关系发现 |
手动 resolve_* |
自动从 ForeignKey/Relationship 推断 |
| 灵活度 |
高(任意嵌套组合) |
中(SQLModel 约束内) |
| 上手成本 |
理解概念多 |
写好 Model 就有了 |
设计哲学
本质上是一个 约定优于配置(Convention over Configuration) 的 trade-off:
- pydantic-resolve — 通用声明式数据组装工具,任意数据源、任意嵌套结构,灵活但需要手写每一层 schema
- sqlmodel-nexus — 绑定 SQLModel,模型定义即 schema,关系已经自带了,省掉重复声明,开箱即用
产品策略思考
- 目标用户:已有 SQLModel 定义、想快速出 API 的开发者
- 核心价值:Model 即 Schema → 自动出 GraphQL API / REST DTO / MCP Server
- 边界:需要超出 SQLModel 能力的复杂场景时,引导用户使用 pydantic-resolve
- 互补关系:nexus 是 resolve 在 SQLModel 场景下的「快车道」
后续可考虑
背景
sqlmodel-nexus 是 pydantic-resolve 的简化版本,借助 SQLModel 提前固化了一些配置,节省了重复声明 schema 的成本,但也牺牲了一些灵活度。
核心对比
resolve_*设计哲学
本质上是一个 约定优于配置(Convention over Configuration) 的 trade-off:
产品策略思考
后续可考虑