From 1c6d8848a965ffabbafb39c80d8b8672c756d71e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Thu, 5 Dec 2024 21:44:55 +0100 Subject: [PATCH] fix _orig_geometry if not set --- src/c3nav/mapdata/models/geometry/base.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/c3nav/mapdata/models/geometry/base.py b/src/c3nav/mapdata/models/geometry/base.py index ba44e07f..dec00205 100644 --- a/src/c3nav/mapdata/models/geometry/base.py +++ b/src/c3nav/mapdata/models/geometry/base.py @@ -106,7 +106,10 @@ class GeometryMixin(SerializableMixin): @property def geometry_changed(self): - if self._orig_geometry is None: + try: + if self._orig_geometry is None: + return True + except AttributeError: return True if self.geometry is self._orig_geometry: return False @@ -121,7 +124,10 @@ class GeometryMixin(SerializableMixin): def get_changed_geometry(self): field = self._meta.get_field('geometry') new_geometry = field.get_final_value(self.geometry) - if self._orig_geometry is None: + try: + if self._orig_geometry is None: + return new_geometry + except AttributeError: return new_geometry difference = new_geometry.symmetric_difference(unwrap_geom(self._orig_geometry)) if self._meta.get_field('geometry').geomtype in ('polygon', 'multipolygon'):