From 7b45d06631c263e7ea950d1cad8c8541305f3871 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 30 Jul 2020 10:08:36 -0400 Subject: [PATCH] Fixes #4931: Fix DoesNotExist exception when deleting devices --- docs/release-notes/version-2.9.md | 1 + netbox/dcim/models/device_components.py | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-2.9.md b/docs/release-notes/version-2.9.md index 78668234b..7e11d5e87 100644 --- a/docs/release-notes/version-2.9.md +++ b/docs/release-notes/version-2.9.md @@ -13,6 +13,7 @@ * [#4914](https://github.com/netbox-community/netbox/issues/4914) - Fix toggling cable status under device view * [#4921](https://github.com/netbox-community/netbox/issues/4921) - Render non-viewable devices as unavailable space in rack elevations * [#4930](https://github.com/netbox-community/netbox/issues/4930) - Replicate label values when instantiating device type components +* [#4931](https://github.com/netbox-community/netbox/issues/4931) - Fix DoesNotExist exception when deleting devices --- diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 6764f8bcf..4779b867a 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -71,11 +71,16 @@ class ComponentModel(models.Model): def to_objectchange(self, action): # Annotate the parent Device + try: + device = self.device + except ObjectDoesNotExist: + # The parent Device has already been deleted + device = None return ObjectChange( changed_object=self, object_repr=str(self), action=action, - related_object=self.device, + related_object=device, object_data=serialize_object(self) )