位置: 编程技术 - 正文

python递归查询菜单并转换成json实例(python递归查找)

编辑:rootadmin

推荐整理分享python递归查询菜单并转换成json实例(python递归查找),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python3 递归,python中递归的用法,python递归的经典案例,python递归查找文件,python递归查找,python3 递归,python递归的经典案例,python中递归的用法,内容如对您有帮助,希望把文章链接给更多的朋友!

最近需要用python写一个菜单,折腾了两三天才搞定,现在记录在此,需要的朋友可以借鉴一下。

备注:文章引用非可执行完整代码,仅仅摘录了关键部分的代码

环境

数据库:mysql python:3.6

表结构

Python代码

Menu对象中,有一个子菜单列表的引用“subMenus”,类型为list

核心代码

测试方法

python递归查询菜单并转换成json实例(python递归查找)

备注:基本流程是:先查询一级菜单,然后分别把该级菜单的id、和这级菜单的子菜单列表传入set_subMenus方法,递归进行子菜单列表的下级菜单设置;

支持传递菜单Id,查询该菜单下面的所有子菜单。传递空字符,则从根目录开始查询

在“rootMenus ”对象中,可以看到完整的菜单树形结构

转Json

我采用的ORM框架是:sqlalchemy,直接从数据库中查询出来的Menu对象,转Json时会报错。需要重新定义一个DTO类,来把Menu对象转成Dto对象。

MenuDto

于是,重新定义了递归设置子菜单的方法

备注:

当一个菜单没有子菜单时,删除掉“subMenus”属性,否则转Json时会出现空值 model_list_2_dto_list 方法可以把Menu列表转成MenuDto列表 to_pinyin 是把汉字转成拼音的方法,在这里不用关注

View层返回Json的方法

备注:python中json和字典的含义类似,在最后json返回给页面时,需要先使用json_dict方法转成dict类型,否则返回的字符串中会带有“”

查询结果

标签: python递归查找

本文链接地址:https://www.jiuchutong.com/biancheng/377148.html 转载请保留说明!

上一篇:Python中的命令行参数解析工具之docopt详解(python怎么用命令行)

下一篇:Python利用Beautiful Soup模块修改内容方法示例(python利用format方法保留三位小数)

  • 小规模缴纳企业所得税会计分录
  • 付加工费会计分录怎么做
  • 垫付运费的运费税怎么做分录
  • 学校食堂支出
  • 累计折旧和固定资产减值准备的区别
  • 产品成本核算时做好哪些基础工作
  • 以前年度多交所得税,跨年退回怎么做会计分录
  • 电子承兑银行承兑
  • 新车车牌照
  • 设备投入安装计入什么科目
  • 未结转损益可以结账吗
  • 发票上的税额和报税的数不一样,按照哪个报
  • 一般纳税人有什么优惠政策
  • 旅游景区税收标准
  • 未取得合法票据费用怎么算
  • 缴纳的社保费可以退吗怎么退
  • 企业内部控制审计报告应当与内部控制评价报告
  • 销售不动产差额征收增值税
  • 购买土地建厂房还要交土地使用费吗
  • 收到的税费返还减少的原因
  • 员工工伤单位垫付
  • 房地产行业的增值税是多少
  • windows hello用不了怎么办
  • 财务期初期末
  • bios中如何关闭cd/dvd
  • php使用redis缓存技术
  • 公司和个人分别交什么税
  • 对于接受捐赠的固定资产,其成本应当依次按照
  • 销售商品收到商业汇票一张会计分录
  • 新电商行业
  • uniapp自定义下拉刷新上拉加载
  • linux的系统设置在哪
  • 自定义修改器
  • axios异步请求数据
  • 员工辞退补偿金需要交个税吗
  • 实际发放股票股利为什么股本增加
  • 湿地上有什么植物
  • php cmd
  • 中央公园纽约的历史背景
  • 电子承兑可以提前贴现吗
  • 用抵扣券买了东西可以退吗
  • php面向对象编程
  • ConvNeXt V2学习笔记
  • 长期待摊费用的摊销方法
  • 失控发票成本转出怎么做账
  • 前端不使用明文密码方案
  • vgdisplay命令无效
  • 旅行社差额纳税的规定
  • urljoin使用
  • 会计报表逾期未申报
  • 一般纳税人无票收入怎么报增值税
  • 主营业务收入的t型账户怎么写
  • 印花税应计入哪里
  • 缴纳印花税需要带公章吗
  • 年终奖税金怎么扣
  • css入门经典
  • sqlserver233报错原因
  • 银行承兑汇票如果到期了企业没有兑付
  • 残疾人就业保障金怎么计算
  • 其他应付款转出的会计分录
  • 计提贷款损失准备的意义
  • 公司如果不交社保会怎么样
  • 收到广告费分录
  • 新开立银行账户怎么办理
  • 企业净资产如何算
  • 企业的利润怎么提出来
  • 补缴以前年度企业所得税分录怎么写
  • 土地闲置费属于政府性基金收入
  • mysql启动时找不到mysqld.server
  • xp系统关机界面设置
  • centos7添加ip地址
  • ubuntu怎么安装程序
  • windows8如何关闭杀毒软件
  • win8.1系统激活
  • WIN10系统中软件打开找不到网络共享盘
  • 安卓注入工具
  • Coroutine couldn't be started because the the game object 'GameController' is inactive!
  • androidstudio调用so文件
  • Node.js中的事件循环是什么
  • 批处理截取字符串
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设