X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/b8fa9bcb80dc87a493971aa4c1f169b4a6e3aeb0..b5f2e110398e97f8d726cbc8f891a3d16ab8dfe5:/models.py diff --git a/models.py b/models.py index bacaefd..78ce9a9 100644 --- a/models.py +++ b/models.py @@ -215,6 +215,15 @@ class TreeEntity(TreeModel, Entity): class Node(TreeEntity): instance_type = models.ForeignKey(ContentType, editable=False) + def get_path(self, pathsep='/', field='slug'): + path = getattr(self.instance, field) + parent = self.parent + while parent: + path = getattr(parent.instance, field) + pathsep + path + parent = parent.parent + return path + path = property(get_path) + def save(self, force_insert=False, force_update=False): if not hasattr(self, 'instance_type_ptr'): self.instance_type = ContentType.objects.get_for_model(self.__class__)