From caec0ed4d1a17bb2ea6fdee5249a05d03f3fb21e Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 7 May 2024 14:26:07 -0700 Subject: [PATCH] Fix: allow bulk edit with existing fields (#6625) --- src/documents/bulk_edit.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/documents/bulk_edit.py b/src/documents/bulk_edit.py index 4c3e78322..08965bb15 100644 --- a/src/documents/bulk_edit.py +++ b/src/documents/bulk_edit.py @@ -140,16 +140,12 @@ def modify_custom_fields(doc_ids: list[int], add_custom_fields, remove_custom_fi qs = Document.objects.filter(id__in=doc_ids).only("pk") affected_docs = list(qs.values_list("pk", flat=True)) - fields_to_add = [] for field in add_custom_fields: for doc_id in affected_docs: - fields_to_add.append( - CustomFieldInstance( - document_id=doc_id, - field_id=field, - ), + CustomFieldInstance.objects.update_or_create( + document_id=doc_id, + field_id=field, ) - CustomFieldInstance.objects.bulk_create(fields_to_add) CustomFieldInstance.objects.filter( document_id__in=affected_docs, field_id__in=remove_custom_fields,