2015-04-14 3 views
0

Я следующую структуру дерева в Django моделиКак запросить структуру дерева в Django модели

Main_Comment 
    id 
    comment_list [Comment] 


Comment 
    id 
    parent_comment [Main_Comment or Comment] 
    child_comment_list [Comment] 

Как бы вы пройти по всему дереву в Django запросе, если дано main_comment идентификатор? Я знаю, что вы могли бы вернуть всю таблицу и фильтровать по main_comment, если весь экземпляр модели комментариев имеет основной комментарий, но я хочу сохранить вложенную структуру вложенного комментария. Есть ли способ сделать это?

+0

Не могли бы вы сделать Main_Comment.objects.all() и пересекающие комментарии оттуда? Main_Comment.objects.all() [0] .child_list.all() – vishen

+0

Попробуйте это https://django-mptt.github.io/django-mptt/models.html –

ответ

0

Специально для вашей модели, если вы хотите использовать Django запрос, вы можете попробовать рекурсивный подход, чтобы прочитать все комментарии дали main_comment_id

Ниже приводится глубина первого способа запроса структуры дерева

для этой работы вам необходимо редактировать свои модели колонок комментарий именования этого:

Comment 
    id 
    parent_comment [Main_Comment or Comment] 
    comment_list [Comment] 

вы также можете использовать сырые запросы SQL с помощью DjAn идти, а Проверьте это, может быть полезно: https://github.com/Husseny/treebirds Проверьте файл models.py внутри nestedcomments/

Смежные вопросы