Bläddra i källkod

Fixes #2816: Handle exception when deleting a device with connected components

Jeremy Stretch 7 år sedan
förälder
incheckning
8bd9b258a8
2 ändrade filer med 6 tillägg och 1 borttagningar
  1. 1 0
      CHANGELOG.md
  2. 5 1
      netbox/dcim/models.py

+ 1 - 0
CHANGELOG.md

@@ -20,6 +20,7 @@ v2.5.4 (FUTURE)
 * [#2795](https://github.com/digitalocean/netbox/issues/2795) - Fix duplicate display of pagination controls on child prefix/IP tables
 * [#2798](https://github.com/digitalocean/netbox/issues/2798) - Properly URL-encode "map it" link on site view
 * [#2802](https://github.com/digitalocean/netbox/issues/2802) - Better error handling for unsupported NAPALM methods
+* [#2816](https://github.com/digitalocean/netbox/issues/2816) - Handle exception when deleting a device with connected components
 
 ---
 

+ 5 - 1
netbox/dcim/models.py

@@ -54,7 +54,11 @@ class ComponentModel(models.Model):
         """
         Log an ObjectChange including the parent Device/VM.
         """
-        parent = self.device if self.device is not None else getattr(self, 'virtual_machine', None)
+        try:
+            parent = getattr(self, 'device', None) or getattr(self, 'virtual_machine', None)
+        except ObjectDoesNotExist:
+            # The parent device/VM has already been deleted
+            parent = None
         ObjectChange(
             user=user,
             request_id=request_id,