42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
from rest_framework.serializers import ModelSerializer
|
|
from apps.mtm.serializers import MaterialSimpleSerializer
|
|
from .models import PuOrder, PuOrderItem, Vendor
|
|
|
|
|
|
class VendorSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Vendor
|
|
fields = '__all__'
|
|
|
|
class VendorSimpleSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = Vendor
|
|
fields = ['id', 'name']
|
|
|
|
class PuOrderItemSerializer(ModelSerializer):
|
|
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
|
class Meta:
|
|
model = PuOrderItem
|
|
fields = '__all__'
|
|
|
|
class PuOrderItemCreateSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = PuOrderItem
|
|
fields = ['count', 'delivery_date', 'pu_order', 'material']
|
|
|
|
class PuOrderItemUpdateSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = PuOrderItem
|
|
fields = ['count', 'delivery_date']
|
|
|
|
class PuOrderSerializer(ModelSerializer):
|
|
vendor_ = VendorSimpleSerializer(source='vendor', read_only=True)
|
|
items = PuOrderItemSerializer(source='item_pu_order', many=True, read_only=True)
|
|
class Meta:
|
|
model = PuOrder
|
|
fields = '__all__'
|
|
|
|
class PuOrderCreateUpdateSerializer(ModelSerializer):
|
|
class Meta:
|
|
model = PuOrder
|
|
fields = ['number', 'vendor'] |