Skip to content

项目定位评估:sqlmodel-nexus 与 pydantic-resolve 的关系梳理 #6

@allmonday

Description

@allmonday

背景

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,关系已经自带了,省掉重复声明,开箱即用

产品策略思考

  1. 目标用户:已有 SQLModel 定义、想快速出 API 的开发者
  2. 核心价值:Model 即 Schema → 自动出 GraphQL API / REST DTO / MCP Server
  3. 边界:需要超出 SQLModel 能力的复杂场景时,引导用户使用 pydantic-resolve
  4. 互补关系:nexus 是 resolve 在 SQLModel 场景下的「快车道」

后续可考虑

  • 在 README 中明确与 pydantic-resolve 的关系定位
  • 文档中增加「何时选择 nexus vs resolve」的指引
  • 考虑是否提供从 nexus 向 resolve 的迁移路径(进阶场景)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions