Question

dans la catégorie de travail et les sous-catégories avec le DataModel , tout va bien dans cette partie, mais j'ai besoin d'utiliser ma catégorie et mes sous-catégories dans mon menu Navigation, j'essaie d'utiliser ce Jquery menu , et rendu de mon menu avec des sous-catégories, mais je suis perdu avec le rendu des sous-catégories de la manière suivante:

<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: avec le "moi", je ne sais pas à quel point il est difficile de faire un dans ce cas pour créer les sous-catégories (le 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

Était-ce utile?

La solution

Obtenez toutes les catégories de niveau supérieur en utilisant quelque chose comme

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

Ensuite:

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, vous devez avoir un appel récursif quelque part, mais cela donne l'essentiel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top