当前位置: 首页 > 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)   <-- 这里根据分页信息提取信息

本文结束

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

相关文章:

  • 软件测试基础知识总结
  • 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日志
  • 站酷app/网站排名优化外包
  • 小小影视大全在线观看免费观看/简述seo对各类网站的作用
  • 青海百度关键词seo/seo推广怎么做
  • wordpress主题模板视频网站/百度推广开户多少钱一个月
  • 东莞网上做公司网站/seo服务指什么意思
  • 广东快速做网站公司哪家好/windows优化大师卸载