1. 程式人生 > >多級評論的實現

多級評論的實現

models none 如果 lse print 通過 ldr model 重點

comment_list=models.Comment.objects.filter(news_id=new_id) ret=[] # 最終拿到的數據 comment_list_dict={} # 構建的中間字典 for row in comment_list: # 通過查到的數據中的id作為key,每一行數據作為value生成一個字典 row.update({"children":[]}) # 構建一個鍵children對應一個空列表 comment_list_dict[row["id"]]=row # 將id作為鍵,當前行作為值存到該字典中 for item in comment_list: # 遍歷一遍取到的數據列表 parrent_row=comment_list_dict.get(item["parent_id"]) # 拿到當前行對應的父親的地址 if not parrent_row: # 如果父親是None,則直接進入ret中 ret.append(item) else: # 否則,將這行append到父親的children中 parrent_row["children"].append(item) # 重點在這一行,用到了上面提到的第一個知識點 print(ret)

多級評論的實現