Вложенные категории Django - путь, получающий 404 на дочерний slug

Я пытаюсь создать вложенные категории с помощью django-treebeard.

И в админке это решение работает нормально. Но мне нужно показать эти категории. Когда я пытаюсь достичь корневой категории, равной: /kategorie/wegetarianskie, то все работает нормально, но когда я пытаюсь достичь fullslug с дочерними категориями, равными: /kategorie/wegetarianskie/obiady, то у меня возникает ошибка 404, и я не знаю почему.

Возможно, у кого-то есть ответ.

Моя модель:

class Category(MP_Node):
    name = models.CharField(max_length=255, verbose_name='Nazwa kategorii')
    slug = AutoSlugField(populate_from='name', unique=True)
    fullslug = models.CharField(max_length=255, verbose_name='Pełny adres kategorii', blank=True)
    created_at = models.DateTimeField(default=datetime.datetime.now)
    node_order_by = ['name']

Затем с помощью сигнала я создаю полный slug следующим образом:

@receiver(post_save, sender=Category)
def save_parentname(sender, instance, **kwargs):
    if not instance.fullslug:
        if instance.is_root():
            instance.fullslug = instance.slug
            instance.save()
        else:
            catslug = '/'.join([instance.get_parent().slug, instance.slug])
            instance.fullslug = catslug
            instance.save()

Когда дочерняя категория сохраняется, сигнал создает полный slug, например: /kategorie/wegetarianskie/obiady

Я также get_absolute_url:

def get_absolute_url(self):
    return reverse('categorydetail',
                   args=[self.fullslug])

Вид:

def category_detail(request, fullslug):
    category = Category.objects.get(fullslug=fullslug)
    return render(request, 'categories/category_detail.html', { 'category': category })

Урлы:

urlpatterns = [
    path('wszystkie', views.category_list, name='categorylist'),
    path('<fullslug>/', views.category_detail, name='categorydetail'),
]
Вернуться на верх