Pregunta

Im categoría y subcategorías de trabajo con DataModel , todo está bien en esta parte, pero necesito usar mi categoría y subcategorías en mi menú de navegación, intento usar esto Jquery menu , y estoy representando mi menú con subcategorías, pero estoy perdido al representar las subcategorías en la forma:

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

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

Mi problema: en el modelo de datos: con el 'yo', no sé qué tan mal hacer en este caso para hacer las subcategorías (el padre es el campo mismo) ...

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")

Gracias

¿Fue útil?

Solución

Obtenga todas las categorías de nivel superior utilizando algo como

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

Entonces:

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 tiene categorías de varios niveles, deberá realizar una llamada recursiva en algún lugar, pero esto le dará la esencia básica.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top