@nurzhannogerbek

Как открывать ajax запросом ветки дерева?

Здравствуйте! Помогите пожалуйста разобраться.

В базе данных хранятся документы в древовидной структуре. Отображаю данное дерево в шаблоне следующим образом. Для этого использую библиотеку: 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 запрос подгружались потомки данного документа.

Как в данном случаи следует лучше всего переделать шаблон?
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы