位置: 编程技术 - 正文

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

  • 北京市增值税发票
  • 租赁负债的计税基础
  • 核定征收企业所得税应税所得率
  • 办公楼出租价格怎么算
  • 发票认证没有信用怎么办
  • 消防公司支付劳务费会计处理
  • 会计信息不采集,证书会失效吗
  • 向投资者支付的股息红利等权益性投资收益款项
  • 付款单位与开票单位不一致如何做账?
  • 土地所有权可以出资吗
  • 少收的应收和应付账款怎么处理?
  • 无票收入申报时要填税率吗
  • 新会计准则要求
  • 预交增值税附加税费减免吗
  • 公司股权转移怎么办理
  • 保洁劳务税点
  • 关于增值税的问题有哪些
  • 财产保险费计入什么科目
  • 旅游业企业所得税要求
  • 电子商务出来干嘛
  • 员工付款的手续费怎么算
  • php汉字转拼音代码
  • 累积带薪缺勤的例题
  • php 字符串 数组
  • 付款凭证怎么填写电脑
  • vue input value
  • 星空下的灯塔作文
  • 研发支出属于哪个表
  • thinkphp i方法
  • 前端手撕代码
  • 购买银行承兑汇票怎么做账
  • 长期待摊费用科目怎么使用
  • 没有抄报税就申报了怎么办
  • 以下哪些企业需要填报
  • 固定资产折旧如何进行会计处理
  • 卖固定资产计入
  • 应付暂估账务处理
  • 民间非营利组织会计制度
  • java泛型的定义和使用
  • 新准则委托代建会计处理
  • sql server 2008登录服务器名称
  • mysql更新语句
  • 个人所得税专项附加扣除标准一览表
  • sqlserver2012无法新建表
  • 个体户与公司的差别
  • 进口设备 退税
  • 餐费开增值税专用发票
  • 押金 做账
  • 报销单会计分录怎么写
  • 辅助生产成本应计入什么
  • 公司不注销有什么影响吗
  • sql server查询数据库大小
  • sql自定义数据类型
  • win7 64位系统中使用音乐播放器播放音乐很卡该怎么办?
  • 用友t6运行特别慢
  • XP系统怎么设置双屏幕
  • linux下xhost命令报错:unable to open display的解决办法
  • thinkpad x230笔记本电脑
  • sxgdsenu.exe - sxgdsenu是什么进程 有什么用
  • win10录音机不能用
  • windows8如何添加打印机
  • apt-get和aptitude
  • win1020h2版好不好
  • kcleaner是什么文件夹
  • win8开机启动项
  • win80xc0000001怎么修复
  • 苹果手机如何给视频添加字幕
  • perl 字符串处理
  • unity物理效果
  • jquery移动节点的方法
  • 欢迎使用微信支付
  • jquery 图片插件
  • unity获取ui
  • JavaScript中定义数组
  • shape form的区别
  • python的排序方法
  • 如何理解python语言
  • 网上申领的电子发票如何读入金税盘
  • 杭州文明城市几连冠
  • 税控发票证书密码是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设