Есть модель
class Category(models.Model):
name = models.CharField('Наименование', max_length=100)
slug = models.SlugField(max_length=160, unique=True)
parent = models.ForeignKey(
'self', verbose_name='Родитель', on_delete=models.SET_NULL, blank=True, null=True, related_name='children'
)
templatetags
@register.simple_tag()
def get_categories():
return Category.objects.all()
Вывожу, соответственно выводятся все категории вмести с дочерними. Можно в templatetags добавить
.filter(parent__isnull=True)
, но как потом вывести дочернии категории?
{% get_categories as categories %}
{% for category in categories %}
<a>{ category.name }</a>
{% endfor %}