当前位置: 首页 > news >正文

Fastapi的基础增删改查

增加

根据你的字段内容,通过调用Fastapi的增加方法,实现表格内容的增加。

@user_router.post("/add_user") async def add_user(user: CreateUser): await User.create(**dict(user)) return { 'code':200, 'msg':'success' }
class CreateUser(BaseModel): username:str=Field( ..., title="用户名", min_length=1, max_length=20, description="用户名必须在1到20个字符之间", example="admin" ) email:str=Field( ..., title="邮箱", description="邮箱必须在1到50个字符之间", example="123@qq.com" ) phone:str=Field( None, title="电话", min_length=11, max_length=11, description="电话必须为11位数字", example="13800000000" ) is_active:bool=Field( True, title="是否激活", description="是否激活", example=True )

通过下面代码中的请求体的帮助,请求体跟模型字段一致,然后调用上面代码中的Fastapi的增加的方法,实现数据的添加。

编辑

根据你的字段内容,通过调用Fastapi的编辑方法,实现表格内容的编辑。在编辑的时候需要判断一下你想编辑的商品是否存在。

@user_router.put("/update_user/{id}") async def update_user(user: UpdateUser, id: int): data = await User.get_or_none(id=id) if data is None: return { 'code':400, 'msg':'用户不存在' } user_dict = user.dict(exclude_unset=True) await User.filter(id=id).update(**user_dict) return { 'code':200, 'msg':'success' }
class UpdateUser(BaseModel): username:str=Field( None, title="用户名", min_length=1, max_length=20, description="用户名必须在1到20个字符之间", example="admin" ) email:str=Field( None, title="邮箱", description="邮箱必须在1到50个字符之间", example="123@qq.com" ) phone:str=Field( None, title="电话", min_length=11, max_length=11, description="电话必须为11位数字", example="13800000000" ) is_active:bool=Field( None, title="是否激活", description="是否激活", example=True )

通过下面代码中的请求体的帮助,请求体跟模型字段一致,然后调用上面代码中的Fastapi的编辑的方法,实现数据的更新。

删除

获取你想删除的数据的id,执行删除的命令,然后删除数据,这里的话是物理删除。在删除的时候既可以判断一下删除的数据是否存在,然后执行删除,也可以直接删除想删的数据。

@user_router.delete("/delete_user/{id}") async def delete_user(id: int): data = await User.get_or_none(id=id) if data is None: return { 'code': 400, 'msg': '用户不存在' } await data.delete() # await User.filter(id=id).delete() return { 'code': 200, 'msg': 'success' }

删除的时候不需要请求体,但是需要获取数据的id。

http://www.jsqmd.com/news/1230030/

相关文章:

  • 2024年必备!grunt-sass安装与配置的简单步骤,新手也能轻松上手
  • 163MusicLyrics完整指南:高效获取和处理音乐歌词的实用工具
  • Vaadin Flow:终极Java Web开发框架入门指南
  • 【小程序毕业设计】基于 SpringBoot 的大学生实训教学服务 APP 大学生实践记录与教学督导安卓平台 移动端高校实践教学流程管控系统(源码+文档+远程调试,全bao定制等)
  • 2026年最新实用指南:找正规专业视频孪生企业该怎么联系
  • 石英式动态称重传感器品牌榜单,广州聚杰品质靠谱值得信赖 - 品牌速递
  • 为什么需要dotnet-core-uninstall?避免Visual Studio依赖冲突的完整解决方案
  • 如何安全撤销未推送的 Git Revert 操作
  • TikTok 评论分析实战:一分钟整理上千条评论思路
  • 长沙望城黄金回收避坑指南!这5家靠谱老店,湘奢汇凭中检认证稳居榜首 - 生活测评小能手
  • mobsfscan命令行详解:5分钟掌握所有实用参数与选项
  • 数据治理“久病不愈”?中翰软件:试试“本体论”这味药
  • Kronos金融大模型:解码市场语言的开源预测引擎
  • Select.js完全指南:打造可自定义样式的下拉选择框,替代原生控件的终极方案
  • 喀什黄金回收哪家强?深挖五家实体店真实测评,附避坑秘籍 - 人间烟火小记
  • MissingDrawer.tmplugin:终极TextMate侧边栏插件完全指南
  • 终极指南:使用DUSt3R实现零代码3D视觉重建,从照片到三维场景的完整教程
  • Learn-to-Cluster部署指南:生产环境中的大规模人脸聚类
  • 2026毓典奢品汇北京卡地亚回收价怎么算|腕表首饰全系行情价目表靠谱门店实测 - 二奢行情速报
  • 装饰画点钻机五年实操笔记:从手工到自动化的真实经历
  • co-wechat-api媒体文件处理:轻松实现图片、视频的上传与获取
  • 工作繁忙怎么委托朋友卖二手住宅?2026线上公证委托书流程 - 跑政通
  • 为什么顶尖科技公司都在淘汰传统IDE?Cursor实战避坑手册(含3类典型错误+修复代码)
  • tkDNN深度解析:NVIDIA Jetson平台上的高性能推理库如何实现极致速度?
  • 从零开始学前端 | 第十八章:定时器、异步与网络请求初步
  • 计算机小程序毕设实战-基于微信小程序的四川文旅自助游玩平台 川味特色旅游攻略分享小程序的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 工厂仓储无人叉车选型指南——2026年最适合落地的无人叉车厂商推荐 - 米諾
  • 蔡司授权 + 无套路平价配镜 上立明眼镜重新定义金华配镜消费体验,城西市街眼镜店、无推销眼镜店推荐、大牌镜片 3 折配镜 - GrowthUME
  • 5步终极指南:用Go Tour快速掌握Go语言编程
  • C++/WinRT入门指南:现代Windows原生开发的核心技术