Przeglądaj źródła

Fixes #7071: Fix exception when removing a primary IP from a device/VM

jeremystretch 4 lat temu
rodzic
commit
88b230f0e4
2 zmienionych plików z 3 dodań i 2 usunięć
  1. 1 0
      docs/release-notes/version-3.0.md
  2. 2 2
      netbox/ipam/models/ip.py

+ 1 - 0
docs/release-notes/version-3.0.md

@@ -5,6 +5,7 @@
 ### Bug Fixes
 
 * [#7070](https://github.com/netbox-community/netbox/issues/7070) - Fix exception when filtering by prefix max length in UI
+* [#7071](https://github.com/netbox-community/netbox/issues/7071) - Fix exception when removing a primary IP from a device/VM
 
 ---
 

+ 2 - 2
netbox/ipam/models/ip.py

@@ -825,9 +825,9 @@ class IPAddress(PrimaryModel):
         if self.pk:
             for cls, attr in ((Device, 'device'), (VirtualMachine, 'virtual_machine')):
                 parent = cls.objects.filter(Q(primary_ip4=self) | Q(primary_ip6=self)).first()
-                if parent and getattr(self.assigned_object, attr) != parent:
+                if parent and getattr(self.assigned_object, attr, None) != parent:
                     # Check for a NAT relationship
-                    if not self.nat_inside or getattr(self.nat_inside.assigned_object, attr) != parent:
+                    if not self.nat_inside or getattr(self.nat_inside.assigned_object, attr, None) != parent:
                         raise ValidationError({
                             'interface': f"IP address is primary for {cls._meta.model_name} {parent} but "
                                          f"not assigned to it!"