django-MPTT向下钻取模板 [英] django-MPTT drilldown template

查看:104
本文介绍了django-MPTT向下钻取模板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法在模板中深入了解mptt。

I am having some trouble getting a drilldown for mptt in my template.

我有以下模型。

models.py

models.py

class Dimension_value(MPTTModel):
    name = models.CharField(max_length = 200, null=True, blank = True, default = '')
    parent = TreeForeignKey("self", on_delete=models.CASCADE, null=True, blank=True, related_name="children")

    class MPTTMeta:
        order_insertion_by = ['name']

def __str__(self):
    return self.name

views.py

def show_dimensions(request):
    return render(request, "accounts/dimension_detail.html", {'dimensions': Dimension_value.objects.all()})

template.py

template.py

{% extends 'base.html' %}
{% block head %}
{% endblock %}
{%block body%}
<div class="container-fluid">
   <div class="card">
      <div class="card-body">
         <h2>My dimensions</h2>
         {% load mptt_tags %}
         {% drilldown_tree_for_node dimensions as drilldown cumulative count accounts.Dimension_value.name in game_count %}
   {% for node,structure in drilldown|tree_info %}
       {% if structure.new_level %}<ul><li>{% else %}</li><li>{% endif %}
       {% if node == dimension %}
           <strong>{{ node.name }}</strong>
       {% else %}
           <a href="{{ node.get_absolute_url }}">{{ node.name }}</a>
           {% if node.parent_id == dimension.pk %}({{ node.game_count }}){% endif %}
       {% endif %}
       {% for level in structure.closed_levels %}</li></ul>{% endfor %}
   {% endfor %}
      </div>
   </div>
   <br>
   <br>
   <a class="btn btn-primary" href="{% url 'add_plan' %}" role="button">Add a plan</a>
   <button onclick="goBack()" class = "btn btn-secondary">Go Back</button><br><br><a class="btn btn-primary" href="{% url 'subscribeusertoplan' %}" role="button">Add a user to plan</a>
</div>
{%endblock%}

我已根据此处找到的文档添加了视图: https://django-mptt.readthedocs.io/ zh_CN / latest / templates.html?highlight = examples#examples

I have added the view according to the documentation found here: https://django-mptt.readthedocs.io/en/latest/templates.html?highlight=examples#examples

但是我收到以下错误消息。
异常类型:AttributeError
异常值:

'TreeQuerySet'对象没有属性'_tree_manager'

However I get the following error. Exception Type: AttributeError Exception Value:
'TreeQuerySet' object has no attribute '_tree_manager'

希望有人可以向正确的方向微移。谢谢!

Hope someone can nudge me in the right direction. Thanks!

推荐答案

您可以通过使用一些CSS和jquery来做到这一点

You can do this by using some css and jquery

{% block head %}
{% endblock %}
{%block body%}

<div class="container-fluid">

   <div class="card">
      <div class="card-body">
         <h2>My dimensions</h2>
         {% load mptt_tags %}

     {% recursetree dimensions %}
                <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse{{node.level}}" aria-expanded="false" aria-controls="collapsed">

             {{ node.name }}</a>
             {% if not node.is_leaf_node %}

                 <ul class="children">
                   <div id="collapse{{node.level}}" class="children panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
                     <div class="panel-body">

                     {{ children }}  </div>
                     </div>
                 </ul>
             {% endif %}

     {% endrecursetree %}

      </div>
   </div>
   <br>
   <a class="btn btn-primary" href="{% url 'add_plan' %}" role="button">Add a plan</a>
   <button onclick="goBack()" class = "btn btn-secondary">Go Back</button><br><br><a class="btn btn-primary" href="{% url 'subscribeusertoplan' %}" role="button">Add a user to plan</a>
</div>



{%endblock%}

这篇关于django-MPTT向下钻取模板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆