位置: 编程技术 - 正文

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

  • 个人出租住房需要缴纳哪些税
  • 金税盘解锁后是否可以直接使用
  • 政府会计制度银行存款利息咋处理
  • 发票与入库单明细不一致税务可以吗
  • 餐厅团购券在哪个软件的
  • 土地增值税可扣除的税金有哪些
  • 房产过户需要交个人所得税吗
  • 应付账款的进项税分录
  • 房屋估价入账需要计算什么税款?
  • 年底结账时利息收入怎么做处理?
  • 营改增通知及有关部门规定的税收优惠政策
  • 村集体收入所得税率多少
  • 开给客户的发票对方已认证
  • 离职补偿金的税率
  • 员工工伤单位垫付
  • 财付通转款会计分录
  • 预收销货款属于负债吗
  • 固定资产提前报废需要补提折旧吗
  • 公司租赁个人车辆需要哪些手续
  • 去年收入少做了怎么调账
  • 电脑网页播放视频只有声音没有画面
  • win10 ltsc版
  • 企业所得税年报申报时间
  • 视频监控智能化应用
  • 担保公司未到期责任准备金会计及税务处理案例
  • 终止劳动合同赔偿需要缴税吗
  • 进项税加计抵扣10%和15%
  • python进行傅立叶变换
  • 一般纳税人与小规模纳税人在报税方面的区别
  • 销售多余材料的收入属于收入吗
  • 出租包装物五五摊销法分录例题
  • js倒数
  • 公司股权分红会计分录
  • 怎么用php写一个简单框架
  • 购入固定资产应该怎么做账
  • 增值税政策执行口径存在的问题及建议
  • 跨年发票可以作为税前扣除的时限
  • php前台模板
  • 平行结转分步法的特点
  • MySQL数据库结构设计图
  • sql优化的方法及思路
  • sqlserver 数据库加密
  • 清空表sql语句
  • 税务处理决定书和处罚决定书
  • 工程奖金计入什么科目
  • 完工产品成本计算表怎么填
  • 交易性金融资产入账价值怎么计算
  • 会计做账的凭据是什么
  • 退货对方不开具红字发票怎么办
  • 可供分配的利润分配顺序
  • 小规模企业与一般纳税人企业最新划分标准及税率
  • 跨年度退货可以不退款吗
  • 商业折扣,现金折扣,销售折让
  • 为什么需要会计信息
  • 会计调账是什么意思
  • 职工薪酬包括哪四项内容
  • mysql索引实战
  • sqlserver 优化配置
  • 怎么操作win10系统
  • 如何查看电脑型号及配置
  • centos5.4
  • win10桌面右边没有了怎么弄出来了?
  • xp注册表文件在哪
  • win8.1系统怎么样
  • 微软何时推出win10
  • 简述javascript中的函数
  • CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放
  • 64位Win7环境下vs2013配置opengl
  • linux shell有什么用
  • 猫的所有视频
  • rpg游戏脚本已经被备份
  • python多线程异常后所有线程均不往下执行
  • Developing for Android, III: The Rules: Performance
  • python pil库官网
  • ppr管材税收编码
  • 话费的发票可以做费用吗
  • 张家港市有什么好吃的美食
  • 上海增值税发票红字怎么开
  • 增值税专用发票怎么开
  • 内蒙民生认证系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设