From 94e9e9d6451c4c193c8d7a96022b6aa01f0006cd Mon Sep 17 00:00:00 2001 From: Adam Cox Date: Sat, 28 Feb 2026 00:42:32 +0000 Subject: [PATCH] handle situations where lock has no target #239 --- ohmg/api/schemas.py | 2 +- ohmg/georeference/models.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ohmg/api/schemas.py b/ohmg/api/schemas.py index 3844ce96..428ba8a7 100644 --- a/ohmg/api/schemas.py +++ b/ohmg/api/schemas.py @@ -651,7 +651,7 @@ def resolve_loaded_by(obj): @staticmethod def resolve_locks(obj): locks = [ - i for i in SessionLock.objects.all().prefetch_related() if i.target.map.pk == obj.pk + i for i in SessionLock.objects.all().prefetch_related() if i.target and i.target.map.pk == obj.pk ] return locks diff --git a/ohmg/georeference/models.py b/ohmg/georeference/models.py index 83ff54e5..d15580ef 100644 --- a/ohmg/georeference/models.py +++ b/ohmg/georeference/models.py @@ -794,7 +794,7 @@ class Meta: def __str__(self): return ( f"{self.session} --> {self.target._meta.object_name} ({self.target} {self.target_id})" - ) + ) if self.target else f"{self.session} --> (no target)" def extend(self): self.expiration += timedelta(seconds=settings.GEOREFERENCE_SESSION_LENGTH)