Procházet zdrojové kódy

Fixes #4931: Fix DoesNotExist exception when deleting devices

Jeremy Stretch před 5 roky
rodič
revize
7b45d06631

+ 1 - 0
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
 
 ---
 

+ 6 - 1
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)
         )