57 lines
1.6 KiB
Python
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,
|
|
} |