2009-09-15 6 views
1

im catégorie de travail et sous-catégories avec le DataModel, tout va bien dans cette partie, mais je dois utiliser ma catégorie et sous-catégories dans mon menu Nav, Im essayer d'utiliser ce Jquery menu, et en rendant mon menu avec les sous-catégories, mais im perdu avec le rendu des sous-catégories de la manière:Django, catégorie et sous-catégories

<ul> 
    <li> 
    <a href="#">Category</a> 

    <!--subcategories--> 
    <span>Subcategory 1 </span> 
    <span>Subcategory 2 </span> 
    ... 
    </li> 
    .... 
    .... 
</ul> 

Mon problème: dans le modèle de données: le « moi », je ne sais pas comment mal faire un dans ce cas pour faire les sous-catégories (parent est le champ lui-même).

class Category(models.Model): 
name = models.CharField(core=True, maxlength=200) 
slug = models.SlugField(prepopulate_from=('name',)) 
parent = models.ForeignKey('self', blank=True, null=True, related_name='child') 
description = models.TextField(blank=True,help_text="Optional") 

Merci

Répondre

2

Obtenir toutes les catégories de haut niveau en utilisant quelque chose comme

top_level_cats = Category.objects.filter(parent__isnull=True) 

Puis:

for tlc in top_level_cats: 
    #do the HTML for the top-level category 
    for clc in tlc.child.all(): 
     #do the HTML for the children of clc 

Si vous avez plusieurs catégories de niveau, il y aura besoin d'être un appel récursif là quelque part , mais cela donne l'essentiel.

+0

Merci, ça marche: D – Asinox

Questions connexes