From 02bba73ca7c6b93224e9cb6a8e57dd1cbb36e952 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 29 Jun 2019 02:10:22 -0400 Subject: [PATCH] Reduce code used to set bulk metadata Signed-off-by: Roberto Rosario --- mayan/apps/metadata/api.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mayan/apps/metadata/api.py b/mayan/apps/metadata/api.py index 9becfc1913..c70c6acad8 100644 --- a/mayan/apps/metadata/api.py +++ b/mayan/apps/metadata/api.py @@ -105,15 +105,14 @@ def metadata_repr_as_list(metadata_list): def set_bulk_metadata(document, metadata_dictionary): - document_type = document.document_type - document_type_metadata_types = [ - document_type_metadata_type.metadata_type for document_type_metadata_type in document_type.metadata.all() - ] + document_type_metadata_types = document.document_type.metadata.values_list( + 'metadata_type', flat=True + ) for metadata_type_name, value in metadata_dictionary.items(): metadata_type = MetadataType.objects.get(name=metadata_type_name) - if metadata_type in document_type_metadata_types: + if document_type_metadata_types.filter(metadata_type=metadata_type).exists(): DocumentMetadata.objects.get_or_create( document=document, metadata_type=metadata_type, value=value )