我有以下树结构:
Cat 1
--Sub Cat 1
--Sub Cat 2
Cat 2
--Sub Cat 1
--Sub Cat 2
----Subsub Cat 1
使用 django-mptt 我可以使用 1 个查询来显示此信息,这很棒,但是在尝试创建如下网址时:
http://www.somesite.com/categories/cat1/subcat1/subsubcat1/
它正在对我的树中的每个类别进行 SQL 查找,以获取父节点 slug(这是可以理解的。)这是我的代码:
@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 slug 而不会在 SQL 上发疯?