SQLModel:一个通过 Python 对象从 Python 代码与 SQL 数据库交互的库。

SQLModel是一个基于Pydantic和SQLAlchemy的Python库,让你用更少的代码更简单地操作SQL数据库,适合与FastAPI搭配使用。
clickgpt_line.png_noView
介绍

SQLModel:使用Python轻松操作SQL数据库

大家平时要是用Python写SQL数据库的代码,是不是总觉得有点繁琐?尤其是模型要写两份:一个给Pydantic用,一个给SQLAlchemy用,写着写着就想说“能不能合二为一啊”。结果嘛,SQLModel就真来了,它就是那种用起来会让人直呼“就该这样写”的库。

这个库挺有意思的,它的作者正是FastAPI的作者,目的也很明确:让你能用最少的代码,写出能同时满足Pydantic数据验证和SQLAlchemy ORM功能的模型。就这一点,真的能省下我一大堆时间。

先说说SQLModel到底是个啥

SQLModel本质上是一个Python库,它的底层是用两个大佬级别的库打底的:一个是SQLAlchemy,负责和数据库打交道;另一个是Pydantic,负责做数据校验和类型定义。这两者原本就各有各的强项,但要是分开写模型吧,重复多、代码长,还容易出错。而SQLModel就把它们整合到一起了,用一个模型类就搞定所有事,真的特别爽。

而且它完全基于Python类型注释,这就意味着你在写代码的时候,编辑器会疯狂提示你,基本上你想写错都难。写起来就像在和代码聊天一样,顺着写就完事了。

用起来到底有多轻松?听我举几个点

1. 写起来不费劲
你只需要写一个类,加上几个字段和类型注释,SQLModel自动帮你搞定数据库映射和Pydantic的验证逻辑。比如:

    
python
from sqlmodel import SQLModel, Field

class User(SQLModel, table=True):
    id: int = Field(default=None, primary_key=True)
    name: str
    email: str

你看看,就这几行,数据库表结构、主键、数据验证、类型提示全都有了。而且因为用了Python的类型注解,像VS Code这种编辑器简直就是如虎添翼,自动补全、跳转全给安排上了。

2. 跟FastAPI搭配无敌好用
FastAPI用的就是Pydantic来处理请求数据的,那你想想,要是模型和数据库用的类跟FastAPI用的Pydantic模型是同一个,是不是省了一堆重复的代码?没错,SQLModel就是为这个场景准备的,完全兼容。

你可以直接拿数据库模型当作请求体、响应体来用,写接口的时候就轻松不少。

3. 默认值合理,少配点事多
SQLModel为很多操作都设置了合理的默认值,不用你每次都手动去设置数据库表名、字段类型、是否是主键、是否为空这些。有时候就觉得它像个懂事的小助手,很多麻烦事都自动帮你干完了。

4. 兼容性强、扩展性也没落下
说到底它还是基于SQLAlchemy和Pydantic做的,也就是说你要是遇到特别复杂的需求,它也不会卡你,还是可以用SQLAlchemy那一套写更底层的东西,也能照样用Pydantic搞复杂的数据验证。

总之,它不会限制你,但平时用也不会逼你写很多东西。这种感觉就像是,有事你说,我来搞,没事你就写得简单点就行。

实际使用的时候,我的感受是——省心!

我拿它做了个小项目,写接口的时候都直接用SQLModel的模型类,前后数据来回传都不需要额外转换格式。插入数据、查询、更新也特别直观,用惯了SQLAlchemy的人会发现它的API一模一样,完全不需要重新学习什么。

而且像我这种记性不太好的,有时候记不住字段名或模型结构,编辑器自动补全就显得特别重要。SQLModel在这方面做得真的不错。

最后嘛

我个人感觉,SQLModel就是一个真正站在开发者角度出发设计出来的库,它不仅把Pydantic和SQLAlchemy整合得非常好,还在开发体验上做了大量优化,写起来很顺手,也很少踩坑。如果你本来就在用FastAPI,那SQLModel简直是绝配,不用犹豫就能上手。

所以啊,想少写点重复代码,又想数据库模型和数据验证都安排得明明白白,那SQLModel你真的该试试!你要是用惯了Pydantic和SQLAlchemy,转到SQLModel的那一刻大概率就回不去了。

RPA
八爪鱼RPA
支持一键抓取公众号/小红书/抖音/淘宝数据
立即查看
流程自动化
付费
AI爆文训练营
图文变现友好赛道,低门槛、高上限,教你从0到1做个赚钱的公众号!
立即查看
躺着赚钱
¥149/年
何老师陪你做副业
这里聚焦AI副业、个人IP、自媒体运营、写作、赚钱案例。不哔哔,只分享有价值的副业项目。
立即查看
AI赚钱案例
限免
DeepSeek进阶教程
带你全面掌握DeepSeek应用技巧。提升工作、学习效率
立即查看
100万人学过
付费
网盘拉新实战教程
每周花费一小时,手把手教你赚网盘平台佣金
立即查看
500人学过
限时优惠
AiPPT
结合最新AI技术,为用户提供一键生成高质量PPT的解决方案。
立即查看
一键生成 PPT
免费
豆包MarsCode
一款免费的AI编程助手,全新支持DeepSeek R1/V3、豆包大模型1.5自由切换,免部署、更准确、更强大!
立即查看
AI编程助手
免费
Monica AI
Monica AI满血复活DeepSeek【免费】,提升您的聊天、搜索、写作和编程体验。
立即查看
一站式 AI 助手
云服务
腾讯云
综合性的云计算服务平台,现已接入DeepSeek,提供多样化的云解决方案
立即查看
高效可靠
云服务
阿里云
全球领先的云计算与数据服务平台,提供云服务器、存储、数据库、安全等多种服务
立即查看
多样化
编程学习
免费领取编程学习资料