X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/c679970daf72db1aba094968755c6d3a066874f4..13aa22003d4b88fff35a631f270bd11a156de71a:/philo/models/base.py diff --git a/philo/models/base.py b/philo/models/base.py index 2138381..8df67c3 100644 --- a/philo/models/base.py +++ b/philo/models/base.py @@ -471,14 +471,15 @@ class TreeEntity(Entity, MPTTModel): if root == self: return '' - if root is None and self.is_root_node(): + parent_id = getattr(self, "%s_id" % self._mptt_meta.parent_attr) + if getattr(root, 'pk', None) == parent_id: return getattr(self, field, '?') if root is not None and not self.is_descendant_of(root): raise AncestorDoesNotExist(root) if memoize: - memo_args = (getattr(self, "%s_id" % self._mptt_meta.parent_attr), getattr(root, 'pk', None), pathsep, getattr(self, field, '?')) + memo_args = (parent_id, getattr(root, 'pk', None), pathsep, getattr(self, field, '?')) try: return self._path_memo[memo_args] except AttributeError: