Pergunta

categoria de trabalho im e subcategorias com o DataModel , tudo está bem nesta parte, mas eu preciso usar minha categoria e subcategorias no meu menu de navegação, im tentar usar esse menu de jquery , e im tornando meu menu com subcategorias, mas estou perdido com tornando as subcategorias no caminho:

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

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

Meu problema: na datamodel: com o 'self', eu não sei como eu farei um para, neste caso, para fazer as subcategorias (pai é o próprio campo) ..

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

Graças

Foi útil?

Solução

Obter todas as categorias de nível superior usando algo como

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

Depois:

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

Se você tiver várias categorias de nível, não precisa ser uma chamada recursiva em algum lugar, mas isso dá a essência básica.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top