From 2ae04c76e91e9dbeb99984086084e4b21f9b0700 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Tue, 26 Aug 2025 16:29:10 +0500 Subject: [PATCH] change: change inventory list serialzier --- core/apps/wherehouse/serializers/inventory.py | 16 ++++++++++++++++ core/apps/wherehouse/views/inventory.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/apps/wherehouse/serializers/inventory.py b/core/apps/wherehouse/serializers/inventory.py index 5009915..5e127f8 100644 --- a/core/apps/wherehouse/serializers/inventory.py +++ b/core/apps/wherehouse/serializers/inventory.py @@ -4,8 +4,24 @@ from core.apps.wherehouse.models.inventory import Inventory class InventoryListSerializer(serializers.ModelSerializer): + product = serializers.SerializerMethodField(method_name='get_product') + unity = serializers.SerializerMethodField(method_name='get_unity') + class Meta: model = Inventory fields = [ 'id', 'quantity', 'product', 'price', 'unity' ] + + def get_product(self, obj): + return { + 'id': obj.product.id, + 'name': obj.product.name, + 'type': obj.product.type + } + + def get_unity(self, obj): + return { + 'id': obj.unity.id, + 'value': obj.unity.value, + } \ No newline at end of file diff --git a/core/apps/wherehouse/views/inventory.py b/core/apps/wherehouse/views/inventory.py index 3f4203c..7d374bb 100644 --- a/core/apps/wherehouse/views/inventory.py +++ b/core/apps/wherehouse/views/inventory.py @@ -17,7 +17,7 @@ class InventoryListApiView(generics.GenericAPIView): def get(self, request): wherehouse_ids = request.query_params.getlist('wherehouse_id') if wherehouse_ids: - inventories = Inventory.objects.filter(wherehouse__in=wherehouse_ids) + inventories = Inventory.objects.filter(wherehouse__in=wherehouse_ids).select_related('product', 'unity') else: inventories = Inventory.objects.all() page = self.paginate_queryset(inventories)