From b649353bc3b64c02d26ef901163de2b44df52380 Mon Sep 17 00:00:00 2001 From: ppettitau Date: Fri, 22 May 2026 07:34:55 +1000 Subject: [PATCH] [ERP-4736] Fix patient edit page crash for self-registered patients has_assigned_carer() was passing an unsaved PrimaryCarer instance (no PK) to a related ORM filter for patients with no PrimaryCarerRelationship (e.g. self-registered patients). This silently no-op'd in Django 4.x but raises a hard ValueError in Django 5.0+. Add an instance.pk guard so unsaved instances short-circuit to False. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- mnd/mnd/registry/patients/mnd_admin_forms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mnd/mnd/registry/patients/mnd_admin_forms.py b/mnd/mnd/registry/patients/mnd_admin_forms.py index f554279..94fd506 100644 --- a/mnd/mnd/registry/patients/mnd_admin_forms.py +++ b/mnd/mnd/registry/patients/mnd_admin_forms.py @@ -214,7 +214,7 @@ def _clean_fields(self): def has_assigned_carer(self): instance = getattr(self, "instance") - if instance and self.patient: + if instance and instance.pk and self.patient: return CarerRegistration.objects.has_registered_carer( instance, self.patient )