Files
ibapp-backend/core/apps/wherehouse/serializers/inventory.py
2025-11-10 15:54:30 +05:00

57 lines
1.6 KiB
Python

from rest_framework import serializers
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')
wherehouse = serializers.SerializerMethodField(method_name='get_wherehouse')
project_folder = serializers.SerializerMethodField(method_name='get_project_folder')
project = serializers.SerializerMethodField(method_name='get_project')
class Meta:
model = Inventory
fields = [
'id',
'wherehouse',
'project_folder',
'project',
'quantity',
'product',
'price',
'unity',
'unit_price',
'created_at',
]
def get_project(self, obj):
return {
'id': obj.project.id,
'name': obj.project.name,
} if obj.project else None
def get_project_folder(self, obj):
return {
'id': obj.project_folder.id,
'name': obj.project_folder.name,
} if obj.project_folder else None
def get_wherehouse(self, obj):
return {
"id": obj.wherehouse.id,
"name": obj.wherehouse.name
}
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,
}