Frage

im Arbeits Kategorie und Unterkategorien mit dem Datamodel , alles ist in diesem Teil in Ordnung, aber ich muß meine Kategorie und Unterkategorien in meinem Menü Nav, im verwenden versuchen, diese JQuery Menü , und mein Menü im mit Unterkategorien Rendering, aber im mit Rendering den Unterkategorien in der Art und Weise verloren:

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

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

Mein Problem: in dem Datenmodell: mit der ‚Selbst‘, ich weiß nicht, wie krank ein tut in diesem Fall für die Unterkategorien machen (Eltern sind das Feld selbst) ..

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

Danke

War es hilfreich?

Lösung

Holen Sie sich alle Top-Level-Kategorien mit so etwas wie

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

Dann:

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

Wenn Sie mehr Level-Kategorien haben, gibt muß dort irgendwo ein rekursiver Aufruf sein, aber dies gibt den grundlegenden Kern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top