diff --git a/src/c3nav/mapdata/models/geometry/level.py b/src/c3nav/mapdata/models/geometry/level.py index 36951e0e..094e4c1c 100644 --- a/src/c3nav/mapdata/models/geometry/level.py +++ b/src/c3nav/mapdata/models/geometry/level.py @@ -46,10 +46,11 @@ class LevelGeometryMixin(GeometryMixin): @property def subtitle(self): base_subtitle = super().subtitle - if self.level_cache is not None: + level = getattr(self, 'level_cache', None) + if level is not None: return format_lazy(_('{category}, {level}'), category=base_subtitle, - level=self.level_cache.title) + level=level.title) return base_subtitle def register_change(self, force=False): diff --git a/src/c3nav/mapdata/models/geometry/space.py b/src/c3nav/mapdata/models/geometry/space.py index d96dfa8f..daae57da 100644 --- a/src/c3nav/mapdata/models/geometry/space.py +++ b/src/c3nav/mapdata/models/geometry/space.py @@ -32,15 +32,17 @@ class SpaceGeometryMixin(GeometryMixin): @property def subtitle(self): base_subtitle = super().subtitle - if self.space_cache is not None: - if self.space_cache.level_cache is not None: + space = getattr(self, 'space_cache', None) + if space is not None: + level = getattr(space, 'level_cache', None) + if level is not None: return format_lazy(_('{category}, {space}, {level}'), category=base_subtitle, - space=self.space_cache.title, - level=self.space_cache.level_cache.title) + space=space.title, + level=level.title) return format_lazy(_('{category}, {space}'), category=base_subtitle, - level=self.space_cache.title) + level=space.title) return base_subtitle def register_change(self, force=True):