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

订餐网站模板下载网络营销的理论基础有哪些

订餐网站模板下载,网络营销的理论基础有哪些,wordpress缓存失败,wordpress评论头像问题使用FastAPI封装树形结构生成函数#xff1a;高效处理层级数据 在Web开发中#xff0c;树形结构是一种常见的数据组织形式#xff0c;常用于菜单、分类、组织结构等场景。本文将介绍如何使用FastAPI封装一个通用的树形结构生成函数#xff0c;支持动态选择字段#xff0c…使用FastAPI封装树形结构生成函数高效处理层级数据 在Web开发中树形结构是一种常见的数据组织形式常用于菜单、分类、组织结构等场景。本文将介绍如何使用FastAPI封装一个通用的树形结构生成函数支持动态选择字段并递归构建树形数据。 需求分析 我们需要实现一个函数能够根据给定的模型和父节点ID递归生成树形结构。同时支持动态选择需要返回的字段以满足不同场景的需求。 实现思路 递归查询从根节点pid0开始逐层查询子节点。动态字段选择通过fields参数指定需要返回的字段。树形结构构建将查询到的节点数据组织成树形结构。 代码实现 以下是基于FastAPI和Tortoise ORM的实现代码 from fastapi import FastAPI from tortoise.contrib.fastapi import register_tortoise from tortoise.models import Model from tortoise import fieldsapp FastAPI()# 示例模型 class Category(Model):id fields.IntField(pkTrue)name fields.CharField(max_length255)pid fields.IntField(default0) # 父节点ID# 树形结构生成函数 async def create_tree(model, pid: int 0, fields: list None):获取树形结构支持动态选择字段:param model: 数据模型:param pid: 父节点ID:param fields: 需要返回的字段列表:return: 树形结构列表# 查询当前层级的节点nodes await model.filter(pidpid).values(*fields)tree []for node in nodes:# 当前节点的数据字典node_data {field: node[field] for field in fields}# 递归查找子节点children await create_tree(model, pidnode[id], fieldsfields)if children:node_data[children] childrentree.append(node_data)return tree# FastAPI路由示例 app.get(/tree) async def get_tree():fields [id, name] # 动态选择字段tree await create_tree(Category, pid0, fieldsfields)return {tree: tree}# 数据库初始化 register_tortoise(app,db_urlsqlite://:memory:,modules{models: [__main__]},generate_schemasTrue, )if __name__ __main__:import uvicornuvicorn.run(app, host0.0.0.0, port8000)代码解析 模型定义 Category是一个简单的分类模型包含id、name和pid字段。pid表示父节点ID根节点的pid为0。 create_tree函数 通过model.filter(pidpid).values(*fields)查询当前层级的节点。使用递归调用create_tree获取子节点并将结果添加到children字段中。返回完整的树形结构。 FastAPI路由 /tree接口调用create_tree函数返回生成的树形结构。 数据库初始化 使用register_tortoise初始化数据库并自动生成表结构。 使用示例 启动FastAPI服务后访问/tree接口将返回如下格式的树形结构 {tree: [{id: 1,name: Root,children: [{id: 2,name: Child 1,children: []},{id: 3,name: Child 2,children: []}]}] }前端代码 const defaultProps {children: children,label: name }; el-treerefstep_treeRef :data树结构 :propsdefaultPropsdefault-expand-all /tree总结 通过封装create_tree函数我们可以轻松生成树形结构并支持动态选择字段。这种方法适用于各种层级数据的场景如菜单、分类、组织结构等。结合FastAPI和Tortoise ORM能够快速构建高效的Web服务。 希望本文对你有所帮助如果有任何问题或建议欢迎在评论区交流讨论。
http://www.tj-hxxt.cn/news/230549.html

相关文章:

  • 免费学软件的自学网站天元建设集团有限公司商业承兑汇票拒付管辖在哪里
  • 公司有域名了怎么设计网页北京网站seowyhseo
  • 电影网站免费建设去年做啥网站致富
  • 做网站建设的联系电话微网站建设教程视频
  • 山东省建设资格中心网站网站数据库太大搬家还原500错误
  • 小程序电商模板什么是优化资源配置
  • 西安网站建设案例wordpress定时功能
  • 贵阳做网站设计怎样用自己电脑做网站
  • 网站开发的前景如何做网站后台管理系统
  • 专业做写生的网站如何更新目录wordpress
  • 网站后台费用蔬菜派送网站怎么做
  • 智能建站代理创业服务网站建设方案项目书
  • 买外链网站wordpress原创主题简单
  • 柯林wap建站程序个人版备案号怎么放置到网站
  • 泉州网站建设优化公司烟台微网站
  • 网站搭建公司加盟淘宝网店怎么注册开店
  • 哪有做网站 的搜索引擎优化的对比
  • 做网站寄生虫需要哪些东西大连开发区论坛网
  • wordpress文章推荐系统seo自然排名优化
  • 长沙网站制作哪家好wordpress出境游
  • 哪些网站可以seo网站域名怎么申请
  • 容桂网站制作信息asp.net网站开发pdf
  • 所有工程建设前会在哪个网站公式许昌市网站建设找汉狮
  • 霸州网站开发南宁专业网站制作
  • o2o网站建设策划做网站怎么自定义背景图片
  • 高校档案网站建设的目的是什么互联网推广平台有哪些公司
  • 做淘宝客的的网站有什么要求网站推广文案
  • 网站关键字在哪设置公司要想做个网站这么弄
  • 网站建设中网站需求分析报告作用上海服装外贸公司
  • jsp网站访问万维网wordpress 免费商业主题