Джанго, категория и подкатегории
-
07-07-2019 - |
Вопрос
Я работаю над категорией и подкатегориями с Модель данных, в этой части все в порядке, но мне нужно использовать свою категорию и подкатегории в навигации по меню, я пытаюсь использовать это Меню Jquery , и я визуализирую свое меню с подкатегориями, но я запутался с рендерингом подкатегорий следующим образом:
<ul>
<li>
<a href="#">Category</a>
<!--subcategories-->
<span>Subcategory 1 </span>
<span>Subcategory 2 </span>
...
</li>
....
....
</ul>
Моя проблема:в модели данных:с «я» я не знаю, как в этом случае сделать for для создания подкатегорий (родителем является само поле).
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")
Спасибо
Решение
Получите все категории верхнего уровня, используя что-то вроде
top_level_cats = Category.objects.filter(parent__isnull=True)
Затем:
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
Если у вас есть несколько категорий уровней, где-то там должен быть рекурсивный вызов, но это дает основную суть.
Не связан с StackOverflow