Fixes #11796: When importing devices, restrict rack by location only if the location field is specified

This commit is contained in:
jeremystretch 2023-02-27 08:26:32 -05:00
parent 561f1eadfc
commit ed77c03830
2 changed files with 9 additions and 2 deletions

View File

@ -2,6 +2,10 @@
## v3.4.6 (FUTURE) ## v3.4.6 (FUTURE)
### Bug Fixes
* [#11796](https://github.com/netbox-community/netbox/issues/11796) - When importing devices, restrict rack by location only if the location field is specified
--- ---
## v3.4.5 (2023-02-21) ## v3.4.5 (2023-02-21)

View File

@ -447,11 +447,14 @@ class DeviceImportForm(BaseDeviceImportForm):
self.fields['location'].queryset = self.fields['location'].queryset.filter(**params) self.fields['location'].queryset = self.fields['location'].queryset.filter(**params)
self.fields['parent'].queryset = self.fields['parent'].queryset.filter(**params) self.fields['parent'].queryset = self.fields['parent'].queryset.filter(**params)
# Limit rack queryset by assigned site and group # Limit rack queryset by assigned site and location
params = { params = {
f"site__{self.fields['site'].to_field_name}": data.get('site'), f"site__{self.fields['site'].to_field_name}": data.get('site'),
f"location__{self.fields['location'].to_field_name}": data.get('location'),
} }
if 'location' in data:
params.update({
f"location__{self.fields['location'].to_field_name}": data.get('location'),
})
self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params) self.fields['rack'].queryset = self.fields['rack'].queryset.filter(**params)
# Limit device bay queryset by parent device # Limit device bay queryset by parent device