Hello Devs, in this category I'm gonna teach you how to make categories, sub categories and sub sub categories in django in simple steps.
Post Link:- https://pythondjangogeek.com/python/how-to-make-a-sub-and-sub-sub-categories-in-django/
Linkedin:- https://www.linkedin.com/in/shivamrohillaa/
Github Repo:- https://github.com/ShivamRohilllaa/django-
categories-tree
Django Categories
Django Sub Categories
Django Sub sub categories
Make a model for Django categories.
class Category(models.Model):
parent = models.ForeignKey('self', related_name='children', on_delete=models.CASCADE, blank =
True, null=True)
title = models.CharField(max_length=100)
slug = AutoSlugField(populate_from='title', unique=True, null=False, editable=False)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
class Meta:
#enforcing that there can not be two categories under a parent with same slug
# __str__ method elaborated later in post. use __unicode__ in place of
unique_together = ('slug', 'parent',)
verbose_name_plural = "categories"
def __str__(self):
full_path = [self.title]
k = self.parent
while k is not None:
full_path.append(k.title)
k = k.parent
return ' -> '.join(full_path[::-1])
Write code in Views.py
def home(request):
catg = Category.objects.filter(parent=None)
context = {'catg':catg}
return render(request, 'index.html', context)
Now render everything in your templates
Make an index.html file
And start fetching the details in the HTML file.
Thank you
Shivam Rohilla | Python Developer
Top comments (3)
hi,
thanks for this great tutorials.
i followed you way, but i end up without able to show the sub-sub category.
i will send you my code to your email.
pls have a look.
thanks.
i am nyoman, form bali, indonesia
I am new in Django. I follow your tutorial but I can not make url for subcategory. Please reply.
shivamrohillaa@gmail.com this is my email, please send your bugs or problems with the pics ok