最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django 遞歸查詢?cè)u(píng)論的示例詳解

 更新時(shí)間:2025年01月03日 09:47:37   作者:像風(fēng)一樣的男人@  
文章介紹了將表數(shù)據(jù)轉(zhuǎn)換為樹(shù)狀結(jié)構(gòu)以及如何處理扁平化數(shù)據(jù)的方法,探討了在數(shù)據(jù)管理中的應(yīng)用和實(shí)現(xiàn)技術(shù),感興趣的朋友一起看看吧

表數(shù)據(jù)

樹(shù)狀結(jié)構(gòu)

@action(methods=('GET', ), detail=False)
def get_info_pinglun(self, request, *args, **kwargs) -> Response:
    '''
    根據(jù)評(píng)論id查所有回復(fù)
    @params  wenxian_pinglun_id   -->  評(píng)論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):
    '''遞歸查該評(píng)論底下的所有回復(fù)'''
    results = []
    queryset = WenxianPinglun.objects.filter(other_pinglun_id=wenxian_pinglun_id) # 獲取該評(píng)論下所有回復(fù)
    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:
    '''
    根據(jù)評(píng)論id查所有回復(fù)
    @params  wenxian_pinglun_id   -->  評(píng)論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):
    '''遞歸查該評(píng)論底下的所有回復(fù)'''
    results = []
    queryset = WenxianPinglun.objects.filter(other_pinglun_id=wenxian_pinglun_id) # 獲取該評(píng)論下所有回復(fù)
    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

到此這篇關(guān)于django 遞歸查詢?cè)u(píng)論的示例詳解的文章就介紹到這了,更多相關(guān)django 評(píng)論內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入探究Java線程不安全的原因與解決

    深入探究Java線程不安全的原因與解決

    線程不安全這個(gè)問(wèn)題,一般在學(xué)Java時(shí),我們老師會(huì)讓我們背誦一段長(zhǎng)長(zhǎng)的話。"當(dāng)不同線程同時(shí)能訪問(wèn)同一個(gè)變量時(shí),可能會(huì)導(dǎo)致線程不安全"。實(shí)際上,這句話重點(diǎn)想突出的只有原子性。而我們往往考慮線程不安全的原因,會(huì)從三方面進(jìn)行考慮:就是原子性,可見(jiàn)性,有序性
    2022-04-04
  • Spring AI集成DeepSeek三步搞定Java智能應(yīng)用的詳細(xì)過(guò)程

    Spring AI集成DeepSeek三步搞定Java智能應(yīng)用的詳細(xì)過(guò)程

    本文介紹了如何使用SpringAI集成DeepSeek,一個(gè)國(guó)內(nèi)頂尖的多模態(tài)大模型,SpringAI提供了一套統(tǒng)一的接口,簡(jiǎn)化了與不同AI模型的集成,通過(guò)配置文件和簡(jiǎn)單的接口調(diào)用,開(kāi)發(fā)者可以方便地使用DeepSeek進(jìn)行數(shù)學(xué)推理、代碼生成等任務(wù),感興趣的朋友一起看看吧
    2025-03-03
  • jvm原理以及jvm調(diào)優(yōu)全過(guò)程

    jvm原理以及jvm調(diào)優(yōu)全過(guò)程

    文章解析了JVM原理及調(diào)優(yōu)方法,涵蓋堆內(nèi)存配置(-Xms/-Xmx等)、GC算法選擇(G1、ZGC等)和線程調(diào)優(yōu),強(qiáng)調(diào)通過(guò)分析堆轉(zhuǎn)儲(chǔ)、調(diào)整參數(shù)及優(yōu)化回收策略提升性能,解決內(nèi)存溢出和高GC停頓問(wèn)題
    2025-09-09
  • 詳解如何使用SpringBoot實(shí)現(xiàn)下載JSON文件

    詳解如何使用SpringBoot實(shí)現(xiàn)下載JSON文件

    在?Spring?Boot?中實(shí)現(xiàn)文件下載功能,可以通過(guò)將?JSON?字符串作為文件內(nèi)容返回給客戶端從而實(shí)現(xiàn)JSON文件下載效果,下面我們就來(lái)看看具體操作吧
    2025-02-02
  • Java實(shí)現(xiàn)文件上傳和url格式校驗(yàn)工具

    Java實(shí)現(xiàn)文件上傳和url格式校驗(yàn)工具

    這篇文章主要介紹了如何使用Java實(shí)現(xiàn)文件上傳和url格式校驗(yàn)工具,主要用于文件類型校驗(yàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-04-04
  • 詳細(xì)解讀Druid數(shù)據(jù)庫(kù)連接池的使用

    詳細(xì)解讀Druid數(shù)據(jù)庫(kù)連接池的使用

    這篇文章主要介紹了Druid數(shù)據(jù)庫(kù)連接池的使用,數(shù)據(jù)庫(kù)連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫(kù)連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫(kù)連接,而不是重新建立一個(gè),需要的朋友可以參考下
    2023-03-03
  • java多線程下載文件原理解析

    java多線程下載文件原理解析

    這篇文章主要為大家詳細(xì)介紹了java多線程下載文件原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Spring Boot3.0新特性全面解析與應(yīng)用實(shí)戰(zhàn)

    Spring Boot3.0新特性全面解析與應(yīng)用實(shí)戰(zhàn)

    Spring Boot 3.0作為Spring生態(tài)系統(tǒng)的一個(gè)重要里程碑,帶來(lái)了眾多令人興奮的新特性和改進(jìn),本文將深入解析Spring Boot 3.0的核心變化,并通過(guò)實(shí)戰(zhàn)示例展示如何在項(xiàng)目中應(yīng)用這些新特性,需要的朋友可以參考下
    2025-07-07
  • Java中對(duì)IO流的全面解析

    Java中對(duì)IO流的全面解析

    文章介紹了Java中IO流的分類,字符流和字節(jié)流的區(qū)別,以及字符流和字節(jié)流的常用類和方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • 詳析Spring中依賴注入的三種方式

    詳析Spring中依賴注入的三種方式

    在開(kāi)發(fā)的過(guò)程中突然對(duì)Spring的依賴注入幾種方式出現(xiàn)混交,打算做個(gè)簡(jiǎn)單的小結(jié),方便大家和自己以后參考借鑒,如有總結(jié)不對(duì)的地方,請(qǐng)大家不吝指教!下面來(lái)一起看看吧。
    2016-09-09

最新評(píng)論

吉隆县| 新营市| 义马市| 徐闻县| 二连浩特市| 长沙县| 娄烦县| 百色市| 高要市| 台江县| 清水河县| 松江区| 仁化县| 九寨沟县| 大理市| 额尔古纳市| 磐安县| 屯门区| 金川县| 那坡县| 藁城市| 普格县| 静宁县| 灌阳县| 运城市| 遵化市| 镇安县| 康保县| 铜梁县| 牡丹江市| 朝阳区| 陇南市| 临高县| 东辽县| 九江市| 福清市| 彭州市| 尚义县| 古浪县| 连州市| 临潭县|