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

Q: 数据库增删改查的逻辑如何实现?

【回到目录】~~~~【回到问题集】

Q: 数据库增删改查的逻辑如何实现?

A: 使用的是Flask 框架的 SQLAlchemy,models/dataset.py文件定义了数据库表实体类,下面以 查询知识库的文档分段为例:

在dataset.py文件定义了数据库实体类DocumentSegment

class DocumentSegment(db.Model):  # type: ignore[name-defined]__tablename__ = "document_segments"__table_args__ = (db.PrimaryKeyConstraint("id", name="document_segment_pkey"),db.Index("document_segment_dataset_id_idx", "dataset_id"),db.Index("document_segment_document_id_idx", "document_id"),db.Index("document_segment_tenant_dataset_idx", "dataset_id", "tenant_id"),db.Index("document_segment_tenant_document_idx", "document_id", "tenant_id"),db.Index("document_segment_node_dataset_idx", "index_node_id", "dataset_id"),db.Index("document_segment_tenant_idx", "tenant_id"),)

controllers/console/dataset/datasets_segments.py - DatasetDocumentSegmentListApi() 提供接口访问服务,操作数据库的逻辑如下:

        query = DocumentSegment.query.filter(  <-- 这里定义Flask框架的 query 查询对象DocumentSegment.document_id == str(document_id), DocumentSegment.tenant_id == current_user.current_tenant_id).order_by(DocumentSegment.position.asc())
。。。一大堆条件筛选。。。
segments = query.paginate(page=page, per_page=limit, max_per_page=100, error_out=False)   <-- 这里根据分页信息提取信息

本文结束

【回到目录】~~~~【回到问题集】

http://www.dtcms.com/a/233680.html

相关文章:

  • 软件测试基础知识总结
  • 08_10小结
  • 八:操作系统设备管理之磁盘调度算法
  • 前端面试题之浏览器存储技术Cookie、LocalStorage、SessionStorage、indexDB
  • [蓝桥杯]后缀表达式
  • Scrum基础知识以及Scrum和传统瀑布式开发的区别
  • STL优先级队列的比较函数与大堆小堆的关系
  • I.MX6ULL裸机的EPIT实验
  • 贪心,回溯,动态规划
  • 从零发布一个 Vue 3 Button 组件到 npm(基于 Vite)
  • 更改安卓虚拟机屏幕大小
  • 计算机基础知识(第四篇)
  • 2025年上海市“星光计划”第十一届职业院校技能大赛 网络安全赛项技能操作模块样题
  • 农田水利如何「聪明」起来?Modbus转Ethernet IP破解设备互联
  • 洛谷题目:P2761 软件补丁问题 (本题简单)
  • linux下覆盖率测试总结
  • App使用webview套壳引入h5(二)—— app内访问h5,顶部被手机顶部菜单遮挡问题,保留顶部安全距离
  • 从Copilot到Agent,AI Coding是如何进化的?
  • [特殊字符] 一文了解目前主流的 Cursor AI 免费续杯工具!
  • 使用logrotate切割nginx日志
  • NX985NX988美光固态闪存NY103NY106
  • 【论文解读】MemGPT: 迈向为操作系统的LLM
  • 【如何做好应用架构?】
  • 基于WSL搭建Ubnutu 20.04.6 LTS(二)-部署Docker环境
  • 【强化学习】——03 Model-Free RL
  • 【前端】js如何处理计算精度问题
  • 并发编程 - go版
  • Go中的协程并发和并发panic处理
  • Ubuntu ssh 永久添加私钥
  • TripGenie:畅游济南旅行规划助手:个人工作纪实(九)