J'ai du contenu avec jusqu'à 2 niveaux de réponses. Je me demande quel est le moyen le plus efficace d'aller chercher et de sortir les réponses. Je dois noter que je prévois de stocker les commentaires avec les champs content_id
et reply_to
, où reply_to
fait référence à quel commentaire il répond à (le cas échéant). Toute critique sur cette conception est la bienvenue.Le moyen le plus efficace d'aller chercher et sortir du contenu avec des commentaires à 2 niveaux?
En pseudo-code (ish), ma première tentative serait:
# in outputting content CONTENT_ID
all_comments = fetch all comments where content_id == CONTENT_ID
root_comments = filter all_comments with reply_to == None
children_comments = filter all_comments with reply_to != None
output_comments = list()
for each root_comment
children = filter children_comments, reply_to == root_comment.id
output_coments.append((root_comment, children))
send output_comments to template
Est-ce la meilleure façon de le faire? Merci d'avance.
Éditer: À la réflexion, je veux conserver l'ordre des dates sur les commentaires, donc je vais devoir le faire un peu différemment, ou au moins juste trier les commentaires après.
C'est ce que le code fait si je ne me trompe pas. – awegawef
Désolé, j'ai mal lu le 'filtre' en tant que 'fetch', et je pensais que vous faisiez plusieurs récupérations. En tout cas, vous avez raison de dire que c'est la meilleure option. –