位置: 编程技术 - 正文

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

  • 个人所得劳务报酬税率
  • 先开票后收款违法吗
  • 办公家具发票要交税吗?
  • 个体工商户网上注销
  • 加盟要给加盟费
  • 个税为负数如何申报
  • 中介费要求开发票中介公司不开
  • 一般纳税人必须先有进项才能开出来发票吗
  • 用友工资系统参数设置
  • 土地出让交增值税多少
  • 对赌协议赢了怎么样
  • 外购动产与不动产时增值税的区别
  • 公司支付倒垃圾费怎么做会计分录
  • 开公司后如何报个税申报
  • 造价咨询公司在哪里备案
  • 总资产报酬率可以用净利润计算吗
  • 服装发票怎么进项抵扣
  • 出口收入转内销后汇率
  • 卷帘机适用税率
  • 个体工商户是否需要缴纳印花税
  • 企业开增值税普通发票 电子版
  • 自建不动产领用原材料的进项税
  • 退休职员工伤补助金放哪个科目?
  • win11怎么把默认c盘改到d盘
  • 企业的债权资产
  • 我开了一个物流公司,有人要开发票怎么办
  • w10纯净版系统怎么样
  • 生产企业结账流程
  • win没有投影到此电脑怎么办
  • 增值税发票选择确认平台注意事项
  • pascl32.exe - pascl32是什么进程 有什么用
  • 应退税款抵扣欠税款的账务处理
  • 什么是企业最佳融资方式
  • laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
  • 求源代码
  • php连接mysql8.0
  • 销售产品的运输费属于什么会计科目
  • php stomp
  • 分公司股东怎么填
  • 深度学习中的注意力机制模型及代码实现(SE Attention、CBAM Attention)
  • php curl file_get_contents
  • css教程网站
  • 请求转发与重定义的区别
  • php删除数据
  • 推广费的比例
  • 购买商品发生的费用计入
  • okhttp3源码
  • python中sample函数怎么用
  • 怎么连接php
  • 利息收入的纳税义务发生地
  • 投资款不打入公司账户可以吗
  • 金蝶固定资产折旧调整
  • 盘盈固定资产如何处理
  • 公司销售不动产增值税
  • sqlserver2012无法新建表
  • 对方给我们等额的钱
  • mysql delete limit 使用方法详解
  • 车间里停止生产怎么办
  • 研发费用加计扣除75%还是100%
  • 定金帐务处理
  • 盘亏存货可以转回来吗
  • 利息收入的正确分录凭证怎么写
  • 让渡是什么
  • sql查询使用临时表
  • mysql8.0二进制安装
  • win7系统步骤
  • WIN10系统优化技巧
  • Windows Server 2008网络中禁止迅雷下载
  • 重庆四日游最佳攻略超详细
  • win8 net framework
  • win8无线网络连接不上
  • win10预览体验计划不显示
  • win7系统开机黑屏如何处理
  • win10时间不见了怎么办
  • Android游戏开发案例教程小小弹球
  • gridview添加数据
  • angularjs简介
  • java中关联关系
  • android零基础
  • python查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设