0

I have a Deviz model that inherits from MPTTmodel. I populated the database with data but can't get to show the children.

The tree should be like this:

    Chapter 1
        -Subchapter 1
            --SubSubchapter 1
                ---Article 1
                ---Article 2
                ---Article 3
    Chapter 2
        -Subsubchapter1
            --Article 1
            --Article 2

In the template, it only displays the Chapters.

When changing object_list to object_list.get_descendants, it does not display the first level tree (Chapters)

models.py

class Lucrare(models.Model):
        name = models.CharField(default='',max_length=100,verbose_name="Denumire")

class Deviz(MPTTModel):
    lucrare = models.ForeignKey(Lucrare, on_delete=models.CASCADE,default='',null=True,related_name="deviz")
    parent = TreeForeignKey('self', on_delete=models.CASCADE,null=True,blank=True,related_name='children')
    cod = models.CharField(default='', max_length=20,verbose_name="Cod")
    norma = models.CharField(default='',max_length=20,verbose_name="Norma")
    denumire = models.TextField(default='',verbose_name="Denumire")
    um_articol = models.TextField(default='',verbose_name="Um")
    oferta = models.FloatField(default=0,verbose_name="Cant Oferta")
    buget = models.FloatField(default=0)
    cost = models.FloatField(default=0)
    def __str__(self):
        return self.denumire
    class Meta:
        verbose_name = 'Deviz'
        verbose_name_plural = 'Devize'

views.py

class LucrareDetail(LoginRequiredMixin, DetailView):   
    template_name = "proiecte/lucrare_detail.html"
    context_object_name = "lucrari"
    model = Lucrare

template.html

{% recursetree object_list %}
<li>
  {{ node.denumire }}
  {% if not node.is_leaf_node %}
      <ul class="children">                    
        {{ children }}
      </ul>
  {% endif %}
</li>
{% endrecursetree %}
Javad
  • 2,033
  • 3
  • 13
  • 23
Kertz
  • 9
  • 6

0 Answers0