From 0db409226632d23b49e2d2a51ae11406301010bb Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 21 Sep 2021 13:41:33 -0400 Subject: [PATCH] Fixes #7321: Don't overwrite multi-select custom fields during bulk edit --- docs/release-notes/version-3.0.md | 1 + netbox/netbox/views/generic.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) 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()