Здравствуйте! Помогите пожалуйста разобраться.
В базе данных хранятся документы в древовидной структуре. Отображаю данное дерево в шаблоне следующим образом. Для этого использую библиотеку:
Nestable
documents.html:
<ol class="dd-list">
{% for node in documents %}
{% include "documents/tree_view_template.html" %}
{% endfor %}
</ol>
tree_view_template.html:
<li class="dd-item" data-id="{{node.id}}">
<div class="dd-content">
<span>{{ node.title|truncatechars:200 }}</span>
</div>
{% if node.get_children %}
<ol class="dd-list">
{% for ch in node.get_children %}
{% with node=ch template_name="documents/tree_view_template.html" %}
{% include template_name %}
{% endwith %}
{% endfor %}
</ol>
{% endif %}
</li>
Все ветки дерева изначально закрыты. Работает это следующим образом. Во view формирую список документов верхнего уровня. То есть беру все документы у которых parent_id пуст или равен нулю. Отправляю в шаблон данные документы. Затем через метод get_children проверяю каждый документ на наличие потомков.
Проблема в том, что данных много и нет смысла все это отображать сразу. К тому же на проверку потомков каждого документа уходит много времени из-за чего подает производительность. Хочу реализовать так чтобы при открытии документа через ajax запрос подгружались потомки данного документа.
Как в данном случаи следует лучше всего переделать шаблон?