Самый эффективный способ получения и вывода контента с помощью двухуровневых комментариев? - PullRequest
1 голос
/ 30 марта 2010

У меня есть контент с до 2-х уровней ответов. Мне интересно, какой самый эффективный способ получить и вывести ответы. Должен отметить, что я планирую хранить комментарии с полями content_id и reply_to, где reply_to указывает на какой комментарий он отвечает (если есть). Любая критика этого дизайна приветствуется.

В псевдокоде (ish) моя первая попытка будет:

# 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

Это лучший способ сделать это? Заранее спасибо.

Редактировать: Если подумать, я захочу сохранить порядок дат в комментариях, поэтому мне придется сделать это немного по-другому, или, по крайней мере, просто отсортировать комментарии позже.

1 Ответ

1 голос
/ 30 марта 2010

Если вы все равно хотите отобразить все комментарии, просто извлеките их все за одну операцию, а затем постройте дерево на Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...