У меня есть следующая древовидная структура:
Cat 1
--Sub Cat 1
--Sub Cat 2
Cat 2
--Sub Cat 1
--Sub Cat 2
----Subsub Cat 1
Используя django-mptt, я могу отобразить эту информацию, используя 1 запрос, который хорош, но при попытке создать URL-адрес, такой как:
http://www.somesite.com/categories/cat1/subcat1/subsubcat1/
Он выполняет поиск SQL для каждой из категорий в моем дереве, чтобы получить слаг для родительских узлов (что понятно). Вот мой код:
@models.permalink
def get_absolute_url(self):
if not getattr(self, '_slug', None):
url = self.slug
for ancestor in self.get_ancestors(ascending=True):
url = url + ancestor.slug + u'/'
self._slug = url
return ('catalogue_category', [str(self._slug)])
Есть ли какая-нибудь функциональность MPTT, которая позволит мне создавать URL-слаг, не сходя с ума по SQL?