64 lines
2.4 KiB
Python
64 lines
2.4 KiB
Python
from .models import *
|
|
from rest_framework import serializers
|
|
|
|
class InspectItemSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = InspectItem
|
|
fields = '__all__'
|
|
|
|
class UserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ('userid','name','username')
|
|
read_only_fields = ('userid',)
|
|
|
|
class EquipmentCheckItemSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = EquipmentCheckItem
|
|
fields = '__all__'
|
|
|
|
class EquipmentCheckFormSerializers(serializers.Serializer):
|
|
id = serializers.IntegerField(read_only=True)
|
|
name = serializers.CharField()
|
|
desc = serializers.CharField()
|
|
usecomp = serializers.PrimaryKeyRelatedField(read_only=True)
|
|
createby = UserSerializer(read_only=True)
|
|
items = serializers.SerializerMethodField(read_only=True)
|
|
def create(self, validated_data):
|
|
items = validated_data.pop('items')
|
|
instance = EquipmentCheckForm.objects.create(**validated_data)
|
|
validated_data['items'] = items
|
|
return instance
|
|
|
|
def update(self,instance,validated_data):
|
|
items = validated_data.pop('items')
|
|
instance = instance.update(**validated_data)
|
|
validated_data['items'] = items
|
|
return instance
|
|
|
|
def get_items(self,obj):
|
|
queryset = EFormItems.objects.filter(equipment_check_form=obj).all()
|
|
return [{'id':row.equipment_check_item.id,'name':row.equipment_check_item.name,'content':row.equipment_check_item.content, 'type':row.equipment_check_item.type.dickeyid if row.equipment_check_item.type else None, 'type_name':row.equipment_check_item.type.dickeyname if row.equipment_check_item.type else None} for row in queryset]
|
|
|
|
|
|
class EquipmentCheckFormSerializers2(serializers.Serializer):
|
|
id = serializers.IntegerField(read_only=True)
|
|
name = serializers.CharField()
|
|
desc = serializers.CharField()
|
|
usecomp = serializers.PrimaryKeyRelatedField(read_only=True)
|
|
createby = UserSerializer(read_only=True)
|
|
|
|
class TrainPlanSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = TrainPlan
|
|
fields = '__all__'
|
|
|
|
class TrainPlanUpdateSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = TrainPlan
|
|
fields = ('purpose','year','month', 'manager', 'period', 'group')
|
|
|
|
# class CPlanSerializer(serializers.ModelSerializer):
|
|
# class Meta:
|
|
# model = ContingencyPlan
|
|
# fields = '__all__' |