Răsfoiți Sursa

Fixes #9079: Fail validation when an inventory item is assigned as its own parent

jeremystretch 3 ani în urmă
părinte
comite
2269bf0167

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

@@ -12,6 +12,7 @@
 * [#9057](https://github.com/netbox-community/netbox/issues/9057) - Fix missing instance counts for module types
 * [#9061](https://github.com/netbox-community/netbox/issues/9061) - Change inheritance order for DeviceComponentFilterSets
 * [#9065](https://github.com/netbox-community/netbox/issues/9065) - Min/max VID should not be required when filtering VLAN groups
+* [#9079](https://github.com/netbox-community/netbox/issues/9079) - Fail validation when an inventory item is assigned as its own parent
 
 ---
 

+ 9 - 0
netbox/dcim/models/device_components.py

@@ -1070,3 +1070,12 @@ class InventoryItem(MPTTModel, ComponentModel):
 
     def get_absolute_url(self):
         return reverse('dcim:inventoryitem', kwargs={'pk': self.pk})
+
+    def clean(self):
+        super().clean()
+
+        # An InventoryItem cannot be its own parent
+        if self.pk and self.parent_id == self.pk:
+            raise ValidationError({
+                "parent": "Cannot assign self as parent."
+            })