에 대한 절대 URL 나는 다음과 같은 트리 구조를 가지고 :장고 MPTT - 카테고리
Cat 1
--Sub Cat 1
--Sub Cat 2
Cat 2
--Sub Cat 1
--Sub Cat 2
----Subsub Cat 1
내가 대단한 일 쿼리를 사용하여이 정보를 표시 할 수있어 장고 - mptt 사용되었지만, 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의 기능이 있습니까?
부모 당 하나의 쿼리가 확실합니까? MPTT의 요점은 이와 같은 쿼리가 저렴하다는 것입니다. 'get_ancestors'는 특히 하나의 쿼리입니다. 'get_absolute_url'이 범인이라는 것을 (아마도 쉘에서'connection.queries'를보고) 확인할 수 있습니까? –