diff --git a/docs/release-notes/version-3.0.md b/docs/release-notes/version-3.0.md index 45c05d4b5..d07f4e149 100644 --- a/docs/release-notes/version-3.0.md +++ b/docs/release-notes/version-3.0.md @@ -4,6 +4,7 @@ ### Bug Fixes +* [#7321](https://github.com/netbox-community/netbox/issues/7321) - Don't overwrite multi-select custom fields during bulk edit * [#7324](https://github.com/netbox-community/netbox/issues/7324) - Fix TypeError exception in web UI when filtering objects using single-choice filters ## v3.0.3 (2021-09-20) diff --git a/netbox/netbox/views/generic.py b/netbox/netbox/views/generic.py index b05033128..43b83da2f 100644 --- a/netbox/netbox/views/generic.py +++ b/netbox/netbox/views/generic.py @@ -824,14 +824,14 @@ class BulkEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): if form.cleaned_data[name]: getattr(obj, name).set(form.cleaned_data[name]) # Normal fields - elif form.cleaned_data[name] not in (None, '', []): + elif name in form.changed_data: setattr(obj, name, form.cleaned_data[name]) # Update custom fields for name in custom_fields: if name in form.nullable_fields and name in nullified_fields: obj.custom_field_data[name] = None - elif form.cleaned_data.get(name) not in (None, ''): + elif name in form.changed_data: obj.custom_field_data[name] = form.cleaned_data[name] obj.full_clean()