SheepNav
fastapi-viewsets

fastapi-viewsets

producthunt.com

FastAPI 版 DRF ViewSet,分钟级构建 CRUD

9天前制作者:Александр Валенчиц

关于 fastapi-viewsets

fastapi-viewsets 是一个为 FastAPI 量身打造的扩展库,它将 Django REST Framework(DRF)中广受欢迎的 ViewSet 模式引入 FastAPI 生态,让开发者能够通过一个类快速完成常见的 CRUD 操作。无论你是从 Django 迁移过来的老手,还是追求开发效率的 FastAPI 新手,这个工具都能大幅减少重复代码,让你专注于业务逻辑。

核心功能

  • 一键注册 CRUD 端点:只需定义一个 ViewSet 类,即可自动生成 LISTGETPOSTPUTPATCHDELETE 等 RESTful 接口,无需手动编写每个路由函数。
  • 多 ORM 支持:完美兼容 SQLAlchemy(同步/异步)、Tortoise ORMPeewee,无论你使用哪种 ORM,都能无缝集成。
  • Pydantic v2 与 OpenAPI 集成:基于 Pydantic v2 进行数据验证,自动生成规范的 OpenAPI 文档,方便前端对接和团队协作。
  • 内置分页与认证:提供开箱即用的分页功能,并可选配 OAuth2 认证,保护你的 API 端点。
  • 声明式预加载:通过 select_related / prefetch_related 声明式地解决 N+1 查询问题,无需修改 ViewSet 代码即可优化性能。

主要特性

  • DRF 风格:熟悉 Django 的开发者可以零成本上手,代码结构清晰,迁移成本极低。
  • 异步友好:原生支持异步 ORM 操作,充分利用 FastAPI 的高性能异步特性。
  • 高度可定制:支持自定义序列化器、权限、过滤逻辑,满足复杂业务需求。
  • 轻量无侵入:不强制修改现有项目结构,可逐步引入,与现有代码和谐共存。
  • 活跃社区:基于 FastAPI 生态,持续更新,文档完善。

适用场景

  • 快速原型开发:需要快速搭建 RESTful API 后端,减少样板代码。
  • Django 迁移项目:将 Django 应用迁移到 FastAPI,保留熟悉的 ViewSet 模式。
  • 微服务架构:每个服务使用 ViewSet 快速暴露 CRUD 接口,保持代码一致性。
  • 教育学习:作为学习 FastAPI 和 ORM 集成的教学工具,理解 REST 设计模式。

相关工具