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)