当前位置: 首页 > news >正文

django --递归查询评论

表数据

在这里插入图片描述

树状结构

@action(methods=('GET', ), detail=False)
def get_info_pinglun(self, request, *args, **kwargs) -> Response:'''根据评论id查所有回复@params  wenxian_pinglun_id   -->  评论id;'''wenxian_pinglun_id = self.request.GET.get('wenxian_pinglun_id')results = self._recursion_get_reply(wenxian_pinglun_id)return Response({'code': 0,'msg': 'success','results': results})def _recursion_get_reply(self, wenxian_pinglun_id: int):'''递归查该评论底下的所有回复'''results = []queryset = WenxianPinglun.objects.filter(other_pinglun_id=wenxian_pinglun_id) # 获取该评论下所有回复for instance in queryset:user = User.objects.get(user_id=instance.user_id)other = User.objects.get(user_id=instance.other_id)results.append({'wenxian_pinglun_id': instance.wenxian_pinglun_id,'user__img': user.img,'user__nicheng': user.nicheng,'other__nicheng': other.nicheng,'text': instance.text,'children': self._recursion_get_reply(instance.wenxian_pinglun_id)})return results

在这里插入图片描述

扁平化处理

@action(methods=('GET', ), detail=False)
def get_info_pinglun(self, request, *args, **kwargs) -> Response:'''根据评论id查所有回复@params  wenxian_pinglun_id   -->  评论id;'''wenxian_pinglun_id = self.request.GET.get('wenxian_pinglun_id')results = self._recursion_get_reply(wenxian_pinglun_id)return Response({'code': 0,'msg': 'success','results': results})def _recursion_get_reply(self, wenxian_pinglun_id: int):'''递归查该评论底下的所有回复'''results = []queryset = WenxianPinglun.objects.filter(other_pinglun_id=wenxian_pinglun_id) # 获取该评论下所有回复for instance in queryset:user = User.objects.get(user_id=instance.user_id)other = User.objects.get(user_id=instance.other_id)results.append({'wenxian_pinglun_id': instance.wenxian_pinglun_id,'user__img': user.img,'user__nicheng': user.nicheng,'other__nicheng': other.nicheng,'text': instance.text})for instance in queryset:results.extend(self._recursion_get_reply(instance.wenxian_pinglun_id))return results

在这里插入图片描述

相关文章:

django --递归查询评论

表数据 树状结构 action(methods(GET, ), detailFalse) def get_info_pinglun(self, request, *args, **kwargs) -> Response:根据评论id查所有回复params wenxian_pinglun_id --> 评论id;wenxian_pinglun_id self.request.GET.get(wenxian_pinglun_id)results se…...

【开源免费】基于SpringBoot+Vue.JS音乐网站(JAVA毕业设计)

本文项目编号 T 109 ,文末自助获取源码 \color{red}{T109,文末自助获取源码} T109,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

SUBSTRING_INDEX()在MySQL中的用法

语法: SUBSTRING_INDEX() 是 MySQL 中的一个字符串函数,它返回一个字符串,该字符串包含从字符串的开始或结束到指定的子字符串出现指定次数为止的部分。这个函数的语法如下: SUBSTRING_INDEX(string, delimiter, count)string&a…...

对45家“AI+安全”产品/方案的分析

一. 关键洞察 “AI+安全”创新非常活跃,一片百家争鸣之势,赛道选择上,以事件分诊Incident Triage、 安全辅助Security Copilots、自动化Automation三者为主为主,这充分反映了当前安全运营的主要需求,在产品理念选择上以 AI 和 自动化为主,这确实又切合上了在关键…...

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Dataguard 概述

Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Dataguard 概述 目录 Oracle Dataguard(主库为 Oracle 11g 单节点)配置详解(1):Oracle Data…...

Pycharm 中 virtualenv、pipenv、conda 虚拟环境的用法

文章目录 前言虚拟环境的通俗介绍虚拟环境和非虚拟环境该怎么选?通过 Virtualenv 方式创建虚拟环境通过 Pipenv 方式创建虚拟环境通过 Conda 方式创建虚拟环境前言 在网上找了好一些资料,发现介绍 Pycharm 虚拟环境的不多,查了一些资料,并做个总结。 本文主要是介绍 Pycha…...

UNI-APP弹窗

组件代码 <template><view><!-- 蒙版 --><view class"mask" click"close()" v-show"tanchuang"></view><!-- 弹窗 --><view class"pop" :style"{height:height*0.8 px,top:tanchuang?…...

【大模型实战篇】LLaMA Factory微调ChatGLM-4-9B模型

1. 背景介绍 虽然现在大模型微调的文章很多&#xff0c;但纸上得来终觉浅&#xff0c;大模型微调的体感还是需要自己亲自上手实操过&#xff0c;才能有一些自己的感悟和直觉。这次我们选择使用llama_factory来微调chatglm-4-9B大模型。 之前微调我们是用两块3090GPU显卡&…...

【Cesium】三、实现开场动画效果

文章目录 实现效果实现方法实现代码组件化 实现效果 实现方法 Cesium官方提供了Camera的flyTo方法实现了飞向目的地的动画效果。 官方API&#xff1a;传送门 这里只需要用到目的地&#xff08;destination&#xff09;和持续时间&#xff08;duration&#xff09;这两个参数…...

#渗透测试#红蓝攻防#红队打点web服务突破口总结01

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…...

适用于项目经理的跨团队协作实践:Atlassian Jira与Confluence集成

适用于项目经理的跨团队协作实践&#xff1a;Atlassian Jira与Confluence集成 现代项目经理的核心职责是提供可视性、保持团队一致&#xff0c;并确保团队拥有交付出色工作所需的资源。在过去几年中&#xff0c;由于分布式团队的需求不断增加&#xff0c;项目经理这一角色已迅速…...

智能家居体验大变革 博联 AI 方案让智能不再繁琐

1. 全球AI技术发展背景及智能家居市场趋势 人工智能&#xff08;AI&#xff09;技术的飞速发展正在推动全球各行业的数字化转型。国际电信联盟与德勤联合发布《人工智能向善影响》报告指出&#xff0c;全球94%的商界领袖认为&#xff0c;人工智能技术对于其企业在未来5年内的发…...

云计算与服务是什么

云计算与服务是一个广泛而深入的话题&#xff0c;涵盖了云计算的基本概念、特点、服务类型以及应用场景等多个方面。以下是对云计算与服务的详细解析&#xff1a; ### 一、云计算的基本概念 云计算是一种基于互联网的计算方式&#xff0c;它通过动态易扩展且虚拟化的资源&…...

接口测试面试题

接口测试在软件测试中占据重要位置&#xff0c;无论是功能测试还是性能测试&#xff0c;接口的稳定性至关重要。以下总结了一些常见的接口测试面试题&#xff0c;帮助你从容应对面试挑战&#xff01; 面试官常说&#xff1a;“接口测试是测试的重头戏&#xff0c;了解接口的设计…...

【Cesium】六、实现鹰眼地图(三维)与主图联动效果

文章目录 一、前言二、效果三、实现方法2.1 思路2.2 方法2.3 使用 App.vue 一、前言 上一篇文章&#xff1a;【Cesium】五、地图实现鹰眼效果&#xff08;三维&#xff09;&#xff0c;虽然实现了3D 的鸟瞰图效果&#xff0c;但是只有鸟瞰图跟着 主地图在动&#xff0c;如果 在…...

ESLint+Prettier的配置

ESLintPrettier的配置 安装插件 ​​​​​​ 在settings.json中写下配置 {// tab自动转换标签"emmet.triggerExpansionOnTab": true,"workbench.colorTheme": "Default Dark","editor.tabSize": 2,"editor.fontSize": …...

4.微服务灰度发布落地实践(消息队列增强)

文章目录 前言问题分析消息队列特性分析kafkarocketmqrabbitmq 发布订阅公共抽象发送端订阅端 前言 消息队列是一种用于在应用程序的不同组件或系统之间传递消息的通信机制。它通过将消息存储在一个队列中&#xff0c;确保消息能够可靠地从发送方传递到接收方&#xff0c;即使…...

【从零开始入门unity游戏开发之——C#篇35】C#自定义类实现Sort自定义排序

文章目录 一、List<T>自带的排序方法1、List<T>调用Sort()排序2、 能够使用 Sort() 方法进行排序的本质 二、自定义类的排序1、通过实现泛型IComparable<T> 接口&#xff08;1&#xff09;示例&#xff08;2&#xff09;直接调用 int 类型的 CompareTo 方法进…...

音频进阶学习九——离散时间傅里叶变换DTFT

文章目录 前言一、DTFT的解释1.DTFT公式2.DTFT右边释义1&#xff09; 复指数 e − j ω n e^{-j\omega n} e−jωn2&#xff09;序列与复指数相乘 x [ n ] ∗ e − j ω n x[n]*e^{-j\omega n} x[n]∗e−jωn复指数序列复数的共轭正交正交集 3&#xff09;复指数序列求和 3.DTF…...

连接github和ai的桥梁:GitIngest

Git ingest GitIngest - 将任何 Github 仓库转变为适合 LLM 的友好型提示文本 (https://github.com/cyclotruc/gitingest) 输入 Github 地址或者名称&#xff0c;GitIngest 就会提供该仓库的总结、目录结构、仓库内容的文本内容 你可以复制这些文本与 AI 大模型更好地对话...

数据库索引原理:B+树与哈希索引的深度对决

数据库索引原理&#xff1a;B树与哈希索引的深度对决在数据库的世界里&#xff0c;索引是提升查询性能的“核武器”。如果把数据库表比作一本厚厚的书&#xff0c;那么索引就是书中的目录。没有目录&#xff0c;想要找到特定的知识点只能一页页翻找&#xff08;全表扫描&#x…...

微信聊天记录永久保存终极指南:WeChatMsg免费工具完整解决方案

微信聊天记录永久保存终极指南&#xff1a;WeChatMsg免费工具完整解决方案 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…...

3步重塑:foobox-cn让您的foobar2000音乐体验焕然一新

3步重塑&#xff1a;foobox-cn让您的foobar2000音乐体验焕然一新 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在为音乐播放器单调乏味的界面而苦恼吗&#xff1f;foobox-cn是专为foobar2000设计…...

百度网盘秒传链接终极指南:网页版工具全平台免费使用教程

百度网盘秒传链接终极指南&#xff1a;网页版工具全平台免费使用教程 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 还在为百度网盘文件分享的繁琐…...

2269 上市公司智慧供应链对数字创新的平均处理效应指标【ATT】(2000-2024)

数据来源上市公司年报时间跨度2000-2024区域跨度全国所有上市公司数据格式数据格式为Excel形式数据简介本数据集旨在全面测度中国上市公司智慧供应链建设的政策冲击效应&#xff0c;涵盖了2000年至2024年A股上市公司的长周期面板数据。作为研究数字经济与实体经济深度融合的关键…...

steam_api.dll是什么文件?全面解析其作用与安全修复方法

不少玩家在启动Steam游戏时&#xff0c;都曾被“无法启动此程序&#xff0c;因为计算机中丢失steam_api.dll”这样的提示拦在门外。看着这串乱码般的文件名&#xff0c;第一反应通常是&#xff1a;这是什么&#xff1f;为什么没了它游戏就不动了&#xff1f;别急&#xff0c;这…...

Labelme标注神器:从安装到实战,手把手教你打造自己的图像分割数据集

Labelme图像标注实战&#xff1a;从入门到生产级数据集构建 在计算机视觉项目中&#xff0c;数据标注往往是决定模型效果的关键因素。不同于常见的矩形框标注工具&#xff0c;Labelme以其灵活的多边形标注能力和丰富的输出格式支持&#xff0c;成为语义分割任务的首选工具。但很…...

Claude Code 愚人节彩蛋:终端里的虚拟宠物伴侣

Claude Code 愚人节彩蛋&#xff1a;终端里的虚拟宠物伴侣 在 AI 编程助手的深处&#xff0c;藏着一个等待孵化的秘密——18 种 ASCII 精灵、5 级稀有度、完整的 RPG 属性系统。这可能是你见过的最可爱的命令行宠物。 意外的发现 在逆向分析 Claude Code 源码的过程中&#xf…...

SketchUp STL开源工具:让3D设计无缝转化为可打印模型的完整方案

SketchUp STL开源工具&#xff1a;让3D设计无缝转化为可打印模型的完整方案 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 在…...

Qwen3智能字幕对齐系统与Dify工作流集成:打造自动化视频内容生产线

Qwen3智能字幕对齐系统与Dify工作流集成&#xff1a;打造自动化视频内容生产线 1. 引言 你有没有算过&#xff0c;一个视频剪辑师一天要花多少时间在字幕上&#xff1f;从听写、校对、再到调整时间轴&#xff0c;一个十分钟的视频&#xff0c;光是字幕可能就要耗掉一两个小时…...