位置: 编程技术 - 正文

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

  • 发票上税额加不上怎么办
  • 财务费用多好还是少好
  • 支付安全生产费怎么入账
  • 税务稽查增值税
  • 企业所得税不征税收入
  • 企业税金包括
  • 酒店内部招待费怎么记账
  • 坏账已核销
  • 账户未认证
  • 养老保险缴纳比例是固定的吗
  • 成本跨年如何处理
  • 企业资产负债表图片
  • 本月采购下月付款怎么记账
  • 公司组织客户旅游费用怎么做账
  • 工程款为什么要扣税
  • 企业发生什么
  • 房地产企业增值税预缴
  • 减免税款为什么在借方
  • 公户转账备注写错会查吗
  • 固定资产改造计入什么科目
  • 合同的印花税税率
  • 投资利润率的计算结果不受建设期的长短
  • 小规模给个人开普票怎么填写
  • 内外账合并步骤
  • uefi模式怎么装机
  • 会计科目与账户的关系
  • 工业废弃物处理方式
  • 购买办公用品发放给各部门使用
  • linux查看du
  • 销售折扣的会计分录处理
  • electron静默打印
  • 购入材料的实际成本
  • 增值税待认证进项税额
  • 其他收益属于利润表吗
  • 交易性金融资产的入账价值
  • yolov3图像识别
  • css中字符间距怎么设置
  • reactjs.org
  • window10解压文件
  • 开票信息修改
  • sqlserver数据库提示授权过期
  • sqlserver控制台
  • 没有海关完税凭证怎么入账
  • 房地产毛利额纳税调整
  • 进项大于销项会退税吗
  • 加油预付卡发票新规定文件
  • 借方会计科目表
  • 银行存款日记账填写样本图
  • SQL Server Alert发送告警邮件少了的原因
  • Select count(*)、Count(1)和Count(列)的区别及执行方式
  • mysql性能极限
  • mysql error1418
  • windows安装设置
  • macmini ubuntu
  • workflow software
  • centos和rhel
  • windows端口占用怎么关闭
  • winxp升级win7教程图文
  • linux wget curl
  • centos7文件路径
  • win8.1系统安装
  • 四个版本的雪国开头翻译
  • win10预览版绿屏重启解决
  • 红石id
  • dota2 服务器ip地址
  • python中 index
  • 完美解决mac环境异常
  • linux 消息队列 系统参数
  • nodejs怎么连接mysql
  • js实现无限循环
  • 税务副科级选拔
  • 国家税务总局2012年20号公告
  • 苗木税收政策
  • 重庆税务局官网发票查询
  • 实际金额与报关金额不符
  • 税务如何稽查
  • 消费税的税收优惠有哪些
  • 自然人电子税务局web端怎么进入
  • 交管123发票审核
  • 集体诉讼的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设