位置: 编程技术 - 正文

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

  • 综合保税区内企业
  • 购买的固定资产什么时候折旧
  • 装修费用摊销是当月还是次月
  • 政府补贴的递延收益
  • 缴纳的增值税比账面的少怎么做账
  • 个体工商户发票额度
  • 增值税专用发票可以开电子发票吗
  • 企业所得税税收优惠政策
  • 财务费用汇兑损益是什么意思
  • 股东借款 往来款
  • 内含增长率的推导
  • 认缴制下收到股东转入的钱怎么入账
  • 联营商品如何做账
  • 银行汇票多余款收账通知怎么做记账凭证
  • 别人项目挂靠我单位如何进行账务处理?
  • 哪些业务不需要进行平行记账
  • 财务人员必备知识
  • 广告公司文化事业建设费申报表如何填写
  • 给单位员工报销电话费怎么做账务处理
  • 小规模纳税人发票增额需要什么手续
  • 小规模纳税人含500万吗
  • 个税是应发工资扣,还是实发工资扣
  • 企业所得税季报人数怎么填
  • 完成产值怎么算
  • 印花税可以计入在建工程吗
  • 计提坏账准备的比例
  • 社保买房公积金
  • 以前年度亏损在哪个报表体现
  • 怎么安装win7系统步骤
  • PHP:xml_set_start_namespace_decl_handler()的用法_XML解析器函数
  • thinkphp 路由
  • php tars
  • Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
  • unity默认存储路径
  • win10待机自动关机软件
  • 支付给其他公司的工程项目管理费
  • 承兑开出去能收回吗
  • 怎么关闭win10搜索栏
  • 销售商品收到商业汇票一张该笔业务应编制的记账凭证是
  • 员工冲借款应该怎么做账
  • 工会费会计分录
  • 确保政府采购
  • 不带息票据按面值入账
  • 外购货物用于公益性捐赠
  • 详解Yii2高级版引入bootstrap.js的一个办法
  • web自动化selenium实战项目
  • 如何在织梦中设置图片加文字
  • 附清单格式
  • 电子承兑到期清算方式是线上还是线下
  • 小规模纳税人增值税申报表怎么填
  • 无形资产减值准备是什么科目
  • 增值税税务检查
  • 用mysql的小技巧
  • 金税盘技术服务费怎么交费
  • 固定资产没收到发票能折旧吗
  • 在建工程什么时候用
  • 开具正数发票中如何体现扣款?
  • 投标保证金以现金形式转为履约保证金
  • 公司补缴社保怎么查不到
  • sqlalchemy merge
  • freebsd版本选择
  • win8怎么进去安全模式
  • driver's
  • win10系统电脑开机黑屏
  • javascript字符串操作函数
  • jquery示例
  • 深入了解工作优势怎么回答
  • jQuery+Ajax实现无刷新操作
  • nodejs作为后端
  • android使用so
  • shell脚本-n
  • 详解python时间模块中的datetime模块
  • python的异常处理语句
  • 使用粗盐热敷十大危害
  • 湖南省电子国税
  • 成都国家税务局每个月交全民付的钱是什么
  • 装卸搬运费属于
  • 增值税是否在利润表反映
  • 契税计税依据含装修费吗
  • 单位轿车出售怎么处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设