位置: 编程技术 - 正文

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

  • 有形资产租赁服务的税率
  • 现金回收期计算公式
  • 建筑业资源税如何缴纳
  • 本期应补退税额怎么算
  • 预付账款长期挂账风险
  • 代扣代缴增值税怎么做账
  • 进项税额已认证未抵扣会计分录
  • 个人投资者取得现金红利的过程不用支付利息税
  • 会计凭证借方和贷方怎么填
  • 开发间接费什么时候计提
  • 库存方面的会计是做什么的
  • 营改增医院增值税
  • 亏损企业研发费加计扣除可以递延吗
  • 财务人员的大忌
  • 固定资产清理账面价值怎么算
  • 增值税专用发票丢了怎么补救
  • 哪些科目适用于借方多栏式
  • 研发用的原材料怎么开领料单
  • 工会经费怎么申报,多久报一次
  • 调整以前年度所得税汇算清缴报表,在哪调减虚增的成本
  • 债券的到期收益率取决于
  • 暂估主营业务成本怎么冲销
  • 笔记本电脑如何恢复出厂系统
  • 苹果6s自动清理
  • win10如何查看显卡配置
  • 结转代销产品成本会计分录
  • php imagettftext()函数
  • 旅客运输服务进项税额的计算公式
  • opencv 边缘
  • 永磁同步电机基础理论pdf
  • gitpull命令
  • 场地退租协议样本
  • 企业收到发票冲销怎么办
  • 在建工程怎么填
  • python线程和协程
  • 建安企业确认收入的依据
  • 向分支机构支付融资利息可以扣除吗?
  • 月末库存商品成本计算
  • 原始凭证分割单可以入账么
  • 预付费卡开票
  • 购销合同印花税税率表
  • 代数分配法的优缺点和适用范围
  • 母公司给子公司开票会有税务风险吗
  • 以前年度损益调整结转到本年利润吗
  • 失控发票要转出成本吗
  • 红冲发票怎么写分录
  • 土地出让金返还比例是多少
  • 记账凭证错误要重开吗
  • 出口退税免抵退税额要交城建税吗
  • 如果是车间不生气怎么办
  • 什么费用可以列入研发费用
  • 营业收入增长率分析
  • 可转换债券是什么资本
  • 改制后的企业
  • 公司汇票是什么
  • sql删除重复数据只保留一条日期最大的
  • mysql查询倒数第二个字母为a
  • mysql的优化有哪几种
  • 忘记windows登陆密码
  • DxO Optics Pro 9 激活破解安装详细图文教程
  • ntldr.exe - ntldr
  • winxp wifi 无法连接
  • win10高分辨率
  • messengerd
  • 2021年win10累积更新
  • windows怎么更改网络状态
  • win10 outlook邮箱设置教程
  • opengl context for format
  • js填写input
  • jquery的实现原理
  • 浅析js动态创建方法
  • jquery设置自定义属性
  • getmac/v
  • 安卓样式大全
  • javascript数据结构与算法第三版
  • python中将字典转换为字符串
  • 税务局分局副局长什么级别的干部
  • 车辆购置税大厅办理流程
  • 护肤品关税税率
  • 代理记账资质办理在哪个网站提交申请
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设