from apps.utils.serializers import CustomModelSerializer from apps.utils.constants import EXCLUDE_FIELDS_BASE, EXCLUDE_FIELDS_DEPT from .models import Drain, DrainEquip from apps.em.serializers import EquipmentSerializer from rest_framework import serializers class DrainSerializer(CustomModelSerializer): """Serializer for Drain model""" class Meta: model = Drain fields = "__all__" read_only_fields = EXCLUDE_FIELDS_DEPT def validate(self, attrs): attrs['belong_dept'] = attrs['mgroup'].belong_dept return super().validate(attrs) class DrainEquipSerializer(CustomModelSerializer): equipment_type = serializers.CharField( source='equipment.type', read_only=True) equipment_name = serializers.CharField( source='equipment.name', read_only=True) class Meta: model = DrainEquip fields = "__all__" read_only_fields = EXCLUDE_FIELDS_BASE