Задать вопрос

Django mptt {{ children }} tag?

Делаю по документации.

В модели:

mptt.register(Topic, order_insertion_by=['title'])

В шаблоне:

<font color="black">{% load mptt_tags %}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>
&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">ul</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;replies-list&quot;</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;{% recursetree replies %}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">li</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">div</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;comment-id&quot;</font><font color="#0000ff">&gt;</font>{{ node.id }}<font color="#0000ff">&lt;/</font><font color="#800000">div</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">p</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;comment-title&quot;</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% if node.image %}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">=&quot;{{ node.image }}&quot;</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;fl&quot;</font> <font color="#ff0000">alt</font><font color="#0000ff">=&quot;&quot;</font> <font color="#0000ff">/&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% endif %}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ node.title }} <br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">span</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;date&quot;</font><font color="#0000ff">&gt;</font> posted: {%if 'week' in node.created|timesince %} {{ node.created|date:&quot;d-m-Y H:i&quot; }} {% else %} {{ node.created|timesince }} ago {% endif %}<font color="#0000ff">&lt;/</font><font color="#800000">span</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">div</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;clear&quot;</font><font color="#0000ff">&gt;</font><font color="#ff0000">&nbsp;</font><font color="#0000ff">&lt;/</font><font color="#800000">div</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;/</font><font color="#800000">p</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">p</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;comment-text&quot;</font><font color="#0000ff">&gt;</font>{{ node.text }}<font color="#0000ff">&lt;/</font><font color="#800000">p</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">p</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;comment-reply&quot;</font><font color="#0000ff">&gt;&lt;</font><font color="#800000">a</font> <font color="#ff0000">href</font><font color="#0000ff">=&quot;#&quot;</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;reply-link&quot;</font><font color="#0000ff">&gt;</font>reply<font color="#0000ff">&lt;/</font><font color="#800000">a</font><font color="#0000ff">&gt;&lt;/</font><font color="#800000">p</font><font color="#0000ff">&gt;</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% if not node.is_leaf_node %}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;</font><font color="#800000">ul</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;children&quot;</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ children }}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;/</font><font color="#800000">ul</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% endif %}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">&lt;/</font><font color="#800000">li</font><font color="#0000ff">&gt;</font><br/>
&nbsp;&nbsp;&nbsp;&nbsp;{% endrecursetree %}<br/>
&nbsp;&nbsp;<font color="#0000ff">&lt;/</font><font color="#800000">ul</font><font color="#0000ff">&gt;</font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>



В базе все нормально создается, иерархия правильная.

Но в результате выводит пустой список дочерних узлов:

<font color="black"><font color="#0000ff">&lt;</font><font color="#800000">ul</font> <font color="#ff0000">class</font><font color="#0000ff">=&quot;children&quot;</font><font color="#0000ff">&gt;</font>&nbsp;&nbsp; <font color="#0000ff">&lt;/</font><font color="#800000">ul</font><font color="#0000ff">&gt;</font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>



node.is_leaf_node = False, т.е. все правильно, и это не лист. Подскажите что может быть не так?
  • Вопрос задан
  • 3664 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
3ds
@3ds Автор вопроса
Извиняюсь, видимо ночью уже спал :) Во вью получал без детей (get_children) а надо было topic.get_descendants().
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы