很多人学 FastAPI 的路径是这样的:跟着一篇博客跑通一个 Hello World,装上 uvicorn,看到浏览器里出现一行 JSON,就以为学会了。等真正要写一个带数据库、带关联查询、带参数校验、带分页的接口时,才发现自己卡在中间那一层——路由会写,但模型不会建;能返回数据,但不知道怎么组织 schema;数据库能连上,但改个字段要手动去数据库里点。这门课针对的就是这个断层。

它不是那种从变量类型讲到装饰器语法的通用 Python 课,也不是纯粹把官方文档念一遍的速通视频。从内容分布看,它把相当重的篇幅放在 ORM 建模和关联关系上,前半段解决"Web 框架怎么用",后半段解决"数据怎么管",中间用数据校验和依赖注入把两边接起来。如果你之前只写过脚本、没正经做过 Web 项目,这个结构能帮你把散落的知识点串成一条线;如果你已经用过 Flask 或 Django,那重点可以放在它对 FastAPI 特有写法的处理上。

先搞清楚它要补的是哪块能力缺口

第一个缺口是"Web 开发的基本模型"。很多人上手 FastAPI 时会困惑:为什么要有 ASGI,它和 WSGI 差在哪,为什么服务启动方式和 Flask 不一样。课程开头几节就在处理这些前置概念——Web 开发模式、ASGI 协议与服务、启动方式。这部分的价值不在于难,而在于把后面的异步、请求生命周期这些词落到实处。跳过它直接抄代码也能跑,但一旦部署出问题、性能出问题,你会不知道从哪查。

第二个缺口是"参数从哪来、怎么校验"。URL 传参、路由传参、请求体传参、单个字段传参、数据校验,这几块连在一起看,其实在回答一个问题:客户端发过来的东西,怎么变成你函数里能安全使用的变量。FastAPI 用类型注解加 Pydantic 做这件事,课程把它拆成几节慢慢讲,好处是你能看清每一步加了什么约束。实际工作中因为参数类型没写清楚导致 500 错误的情况非常多,这块补上了,调试时间会明显下降。

第三个缺口是"数据怎么进、怎么出"。这是课程最沉的部分:从 SQLAlchemy 介绍、engine 创建、模型类建立,到 session 的新增、查询、修改、删除,再到关联关系和数据迁移。很多自学者在这里断掉,因为 ORM 是一套自成体系的东西,光看文档容易迷失在参数里。课程用连续的实操段落推进,至少能让你知道每个操作对应数据库里的什么动作。

适合什么基础的人看,什么基础的人先补别的

如果你能独立写出 Python 函数、理解类和实例、知道装饰器大概在干什么、会用 pip 装包,那这门课的门槛对你是合适的。不需要你先前用过 Flask 或 Django,但如果用过,理解路由分发、请求响应这些概念会更快。前几节对 Web 模式的铺垫也意味着它对完全没碰过后端的人是友好的,只要你能接受一开始先听概念、再动手写代码的节奏。

反过来说,如果你连 Python 的字典、列表推导、函数参数默认值都还不熟,直接进这门课会比较吃力,尤其是后面 schema 定义和嵌套模型的部分,会大量用到类型注解和类继承。建议先花时间把 Python 基础语法和面向对象补稳,再回来。另外,如果你完全没接触过数据库、不知道表、行、主键、外键是什么意思,那在进入 ORM 那一段之前最好先补一点 SQL 常识,否则看关联关系会像在看天书。

还有一类人适合看:已经在用 FastAPI 写接口,但项目里的数据层是别人搭好的,自己只会照着写路由。这类人可以直接从模型类、session 操作那几节切入,把数据层补上,再回头看前面的参数校验和路由分发,会有"原来当初那么写是因为这个"的感觉。

建议的观看顺序:不要从头到尾线性刷

比较省时间的做法是分三段。第一段看开头的概念、第一个程序、路由与启动方式、路由分发,目标是能自己起一个服务、能拆出多个路由模块、能解释接口文档为什么慢以及怎么处理。这一段不要贪多,跑通就行,重点是建立"请求进来、函数处理、响应回去"的直觉。

第二段集中看传参与校验,包括 URL 传参、路由传参、请求体传参和单个字段传参。这一段建议边看边改:把示例里的参数类型换掉,故意传错格式,看 FastAPI 返回什么错误信息。这种"制造错误"的练习比照着敲一遍有效得多,因为你以后在真实项目里遇到的就是这些错误。

第三段是数据层,篇幅最长,也最需要耐心。顺序上建议先建 engine 和模型类,理解表结构怎么映射成 Python 类;然后看数据库迁移工具,明白为什么改字段不能手动改库;接着是 session 的增删改查,这是日常写得最多的部分;最后才是关联关系——一对多、一对一、多对多、自关联、双向关联,以及基于关联的复杂查询。关联部分一定要按顺序看,因为双向关联和迁移是连在一起的,前面的模型没建对,后面查询必然出错。

最后一段是整合,把 schema 定义、依赖注入、ORM 对象转换、分页查询、修改和删除串起来。到这里你会发现前面每一块都不是孤立的:schema 用到校验知识,依赖注入用到 session 管理,分页查询用到 session 的高级查询能力。这一段的实操价值最高,也最接近真实接口开发。

学完之后应该能独立回答和完成什么

先说你学完应该能回答的问题。比如:一个请求从进入到返回,中间经过哪些环节;参数校验失败时错误信息是谁生成的;为什么数据库操作的 session 不能全局共用一个;一对多和多对多在表结构上的区别是什么,写代码时怎么体现;自关联适合描述什么业务场景;数据库迁移工具解决的是哪类问题;依赖注入在接口里到底帮你省掉了什么重复代码。这些问题如果你能用自己的话讲清楚,说明不是只记住了代码。

再说你能独立完成的事。学完这套内容,你应该可以自己从零搭一个带数据库的小型接口服务:建模型、跑迁移、写增删改查接口、给接口加上参数校验、把数据库对象转换成返回给前端的结构、支持分页、处理关联数据的查询和写入。注意这里的能力边界是"能独立写出来",不是"能背出代码"——具体某个函数的参数名记不住很正常,但你得知道遇到问题该去查什么、该往哪个方向改。

也要说清楚它不覆盖什么。课程聚焦在框架用法和数据层组织,不涉及部署上线、容器化、性能压测、权限认证体系这些工程话题。所以学完它,你拿到的是一个能跑起来的后端骨架,离生产环境还有一段距离。把这段距离认清楚,比误以为自己已经能接项目要好。

资料怎么配合练习,避免看完就忘

配套资料的作用是让你不必边看边暂停抄代码,但它最大的陷阱也在这里:直接跑通示例会给你"我学会了"的错觉。建议的做法是,每看完一节先把示例代码关掉,凭记忆自己写一遍,写不出来再回去看。尤其是模型类和 session 操作这两块,手写一遍和复制一遍的差别,在几天后就会暴露出来。

其次是给自己定一个小项目贯穿始终。比如做一个员工管理的小系统,随着课程推进不断加功能:先有列表接口,再加新增、修改、删除,然后加参数校验,接着把数据换成数据库存储,最后加上部门和员工的关联、加上分页。这样每一节学到的内容都能立刻挂到这个项目上,知识点之间会自然产生联系,而不是一堆互不相干的片段。

第三是养成看返回错误信息的习惯。FastAPI 的接口文档和错误提示其实是很强的学习工具,遇到参数报错、模型报错、查询报错时,先读完整信息再搜索,比直接复制错误去问人要有效。课程里讲的校验和迁移,本质上都是在帮你把错误提前暴露出来,配合练习时主动去触发这些错误,理解会更深。最后,隔一段时间回头重看关联关系和迁移那几节,你会发现第一次看时忽略的细节,往往就是当时卡住你的原因。

课程目录

📁 课程资料
课程资料.exe  [3.5 MB]
25 一对多关联操作.mp4  [179.3 MB]
26 树形结构的自关联.mp4  [100.5 MB]
27 树形结构的操作.mp4  [45.9 MB]
28 一对一的关联关系.mp4  [138.9 MB]
29 多对多的关联关系.mp4  [163.6 MB]
30 关联复杂查询(一).mp4  [114.8 MB]
31 关联复杂查询(二).mp4  [146.2 MB]
32 定义添加员工的schemas.mp4  [148.0 MB]
24 双向关联的数据库迁移.mp4  [110.2 MB]
23 一对多的关联关系.mp4  [172.3 MB]
22 session的高级查询.mp4  [214.7 MB]
21 session的删除操作.mp4  [81.7 MB]
20 session的修改操作.mp4  [62.5 MB]
33 session的依赖注入.mp4  [149.4 MB]
34 ORM模型对象转换.mp4  [83.2 MB]
35 查询单个员工和模型嵌套.mp4  [123.5 MB]
36 分页查询员工信息.mp4  [58.1 MB]
37 修改和删除员工.mp4  [117.4 MB]
19 session的简单查询.mp4  [196.5 MB]
18 session的新增操作.mp4  [130.4 MB]
17 alembic的数据库迁移工具.mp4  [152.9 MB]
16 建立模型类(二).mp4  [131.2 MB]
15 建立模型类(一).mp4  [180.3 MB]
14 创建数据的engine.mp4  [133.0 MB]
13 SQLAlchemy的介绍.mp4  [68.5 MB]
12 请求体单个传参.mp4  [88.2 MB]
11 请求体传参.mp4  [184.7 MB]
10 传参数的数据校验.mp4  [113.6 MB]
09 URL传参.mp4  [148.0 MB]
08 路由传参(二).mp4  [119.2 MB]
07 路由传参(一).mp4  [157.6 MB]
06 路由分发.mp4  [101.9 MB]
05 路由和启动方式.mp4  [150.3 MB]
04 接口文档打开慢的问题.mp4  [98.8 MB]
03 FastAPI的第一个程序.mp4  [159.7 MB]
02 ASGI协议和服务.mp4  [120.5 MB]
01 Web开发模式相关概念.mp4  [134.5 MB]