位置: 编程技术 - 正文

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方法保留三位小数)

  • 只有增值税专用发票才能抵扣进项吗
  • 小规模纳税人缴纳企业所得税
  • 以个人名义汇货要交税吗
  • 小规模纳税属于什么类型
  • 出纳与会计现金对不上
  • 财务费用为什么借方红字
  • 应交税费和税金及附加的区别
  • 应交税费和所得税费用会计分录
  • 住房公积金在个税中如何扣除
  • 持有待售固定资产按照账面价值与可收回金额
  • 流动资产周转次数低说明什么
  • 小规模购买金税盘可以全额抵扣吗
  • 企业收到免税发票后怎么开票
  • 企业未实际列支教育经费要纳税调整吗?
  • 开一张增值税发票需要交哪些税
  • 政府机关开票是普票还是专票
  • 税款负担方式是什么
  • 研发人员的社保可以加计扣除吗
  • 电费冲销是什么意思
  • 办税人员的职责和义务
  • 重点税源财务指标有哪些
  • 跨月发票作废怎么红冲
  • 农产品收购销售免税吗
  • 小米电视连不上路由器怎么回事
  • win 11操作系统
  • mac睡眠后无法正常唤醒
  • deepin声音
  • 无形资产摊销是什么科目
  • css盒子如何居中
  • 星空下的灯塔作文
  • yii2框架的优缺点
  • 餐费计入什么费用
  • 如何用php
  • inature前沿
  • 卷积神经网络有哪些
  • 2019年新会计制度改革
  • 出口没有增值税发票需要交税吗
  • 开发项目完工后多久开工
  • 增值税普通发票查询真伪
  • sqlserver怎么把数据库导出来
  • 企业所得税汇算清缴表
  • 营业成本的构成
  • 有形动产租赁服务属于现代服务吗
  • 给员工的奖金计入什么科目
  • 实收资本的印花税什么时候申报
  • 年末坏账准备计提余额减少说明什么
  • 会计凭证的审核的注意事项有哪些
  • 影响固定资产折旧的基本因素不包括
  • 固定资产怎么编号方便
  • 记账发生错账怎么办
  • 完美解决usb供电不足
  • mysqldump -w
  • xp系统没有安装好,请重新运行安装程序
  • windows xp的设备管理器在哪
  • mac怎么录制
  • 一台电脑多个用户组怎么显示在一个屏幕上
  • WIN7系统安装
  • win7旗舰版用户
  • linux管理器
  • windows where命令
  • Windows8和Windows8 RT版的区别介绍
  • 浅析学校德育的个体智能发展功能
  • js拖拽div
  • python根据ip获取主机名
  • 一起学ap
  • js date对象构造方法
  • 浅谈jquery中next与siblings的区别
  • linux bash命令详解
  • pythone爬虫
  • Python heapq使用详解及实例代码
  • express框架作用
  • python多线程爬虫代码
  • locust框架
  • 第三方审计报告需要多久
  • 个人所得税如何申报详细流程
  • 厦门市税务局电话
  • 岗位能手竞赛
  • 什么叫以物易物
  • 企业年金个人缴纳的辞职能拿吗
  • 代理记账广告语怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设