私は次のツリー構造を持っています:
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)])
SQLに夢中になることなくURLスラッグを作成できるMPTTの機能はありますか?