Przeglądaj źródła

Fixes #5060: Fix validation when bulk-importing child devices

Jeremy Stretch 5 lat temu
rodzic
commit
5cdccb47f4

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

@@ -18,6 +18,7 @@
 * [#5045](https://github.com/netbox-community/netbox/issues/5045) - Allow assignment of interfaces to non-master VC peer LAG during import
 * [#5045](https://github.com/netbox-community/netbox/issues/5045) - Allow assignment of interfaces to non-master VC peer LAG during import
 * [#5058](https://github.com/netbox-community/netbox/issues/5058) - Correct URL for front rack elevation images when using external storage
 * [#5058](https://github.com/netbox-community/netbox/issues/5058) - Correct URL for front rack elevation images when using external storage
 * [#5059](https://github.com/netbox-community/netbox/issues/5059) - Fix inclusion of checkboxes for interfaces in virtual machine view
 * [#5059](https://github.com/netbox-community/netbox/issues/5059) - Fix inclusion of checkboxes for interfaces in virtual machine view
+* [#5060](https://github.com/netbox-community/netbox/issues/5060) - Fix validation when bulk-importing child devices
 
 
 ---
 ---
 
 

+ 1 - 1
netbox/dcim/models/devices.py

@@ -633,7 +633,7 @@ class Device(ChangeLoggedModel, ConfigContextModel, CustomFieldModel):
         # Check for a duplicate name on a device assigned to the same Site and no Tenant. This is necessary
         # Check for a duplicate name on a device assigned to the same Site and no Tenant. This is necessary
         # because Django does not consider two NULL fields to be equal, and thus will not trigger a violation
         # because Django does not consider two NULL fields to be equal, and thus will not trigger a violation
         # of the uniqueness constraint without manual intervention.
         # of the uniqueness constraint without manual intervention.
-        if self.name and self.tenant is None:
+        if self.name and hasattr(self, 'site') and self.tenant is None:
             if Device.objects.exclude(pk=self.pk).filter(
             if Device.objects.exclude(pk=self.pk).filter(
                     name=self.name,
                     name=self.name,
                     site=self.site,
                     site=self.site,