朋友圈

发现更多有趣的博主。

43 篇订阅
六小时之外 六小时之外

FastAPI系列-19-数据操作之删除

本文阐述在图书管理API中采用软删除方案,将删除操作转换为UPDATE语句,在deleted_at列写入UTC时间戳而非物理删除,以实现数据可逆恢复与审计完整。所有面向用户的查询必须在DAO层统一附加deleted_at IS NULL过滤,确保已删除行对业务透明,避免幽灵数据。删除时使用SQLAlchemy Core的update,根据rowcount判断资源是否存在或已被删除,统一抛出NotF...

六小时之外 六小时之外

FastAPI系列-16-数据操作之查询

本文介绍了在FastAPI中将图书列表接口从全表查询升级为支持按作者、状态、关键词过滤以及分页与聚合的完整异步查询方案。核心思路是引入DAO层隔离路由与ORM,路由仅负责参数校验和调用,DAO使用SQLAlchemy 2.x的`select`惰性组合`where`条件(等值、`ilike`模糊匹配、`in_`集合过滤),并通过`func.count`直接进行数据库聚合统计,以`ORDER BY`加...