From b8cadf1faaf7efe12a983376f09968d3b0e1bb65 Mon Sep 17 00:00:00 2001 From: vabene1111 Date: Mon, 19 Feb 2024 20:53:07 +0100 Subject: [PATCH] fixed property editor fdc import --- cookbook/views/api.py | 9 +++------ .../PropertyEditorView/PropertyEditorView.vue | 17 +++++++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/cookbook/views/api.py b/cookbook/views/api.py index 98e5f3a2..2f8e5daa 100644 --- a/cookbook/views/api.py +++ b/cookbook/views/api.py @@ -644,25 +644,22 @@ class FoodViewSet(viewsets.ModelViewSet, TreeMixin): food_property_list.append(Property( property_type_id=pt.id, property_amount=max(0, round(fn['amount'], 2)), # sometimes FDC might return negative values which make no sense, set to 0 - import_food_id=food.id, space=self.request.space, )) if not property_found: food_property_list.append(Property( property_type_id=pt.id, property_amount=0, # if field not in FDC data the food does not have that property - import_food_id=food.id, space=self.request.space, )) - Property.objects.bulk_create(food_property_list, ignore_conflicts=True, unique_fields=('space', 'import_food_id', 'property_type',)) + properties = Property.objects.bulk_create(food_property_list, unique_fields=('space', 'property_type',)) property_food_relation_list = [] - for p in Property.objects.filter(space=self.request.space, import_food_id=food.id).values_list('import_food_id', 'id', ): - property_food_relation_list.append(Food.properties.through(food_id=p[0], property_id=p[1])) + for p in properties: + property_food_relation_list.append(Food.properties.through(food_id=food.id, property_id=p.pk)) FoodProperty.objects.bulk_create(property_food_relation_list, ignore_conflicts=True, unique_fields=('food_id', 'property_id',)) - Property.objects.filter(space=self.request.space, import_food_id=food.id).update(import_food_id=None) return self.retrieve(request, pk) except Exception: diff --git a/vue/src/apps/PropertyEditorView/PropertyEditorView.vue b/vue/src/apps/PropertyEditorView/PropertyEditorView.vue index e889b8fe..f7fa5d90 100644 --- a/vue/src/apps/PropertyEditorView/PropertyEditorView.vue +++ b/vue/src/apps/PropertyEditorView/PropertyEditorView.vue @@ -69,7 +69,7 @@