]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix: allow bulk edit with existing fields (#6625)
authorshamoon <4887959+shamoon@users.noreply.github.com>
Tue, 7 May 2024 21:26:07 +0000 (14:26 -0700)
committerGitHub <noreply@github.com>
Tue, 7 May 2024 21:26:07 +0000 (14:26 -0700)
src/documents/bulk_edit.py

index 4c3e78322d42ad474edc7fe8aa0dfbdadda54e42..08965bb1583d1b09c7eda807f597f09ebd068a3c 100644 (file)
@@ -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,