from apps.system.models import User from rest_framework.serializers import ModelSerializer from rest_framework import serializers from apps.utils.serializers import CustomModelSerializer from apps.utils.constants import EXCLUDE_FIELDS from .models import ClockRecord, Employee, NotWorkRemark from apps.system.serializers import DeptSimpleSerializer,UserSimpleSerializer class EmployeeSerializer(CustomModelSerializer): belong_dept_ = DeptSimpleSerializer(source='user.belong_dept', read_only=True) class Meta: model = Employee exclude = EXCLUDE_FIELDS + ['face_data'] def save(self, **kwargs): if self.validated_data.get('user', None): user = self.validated_data['user'] self.validated_data['name'] = user.name self.validated_data['belong_dept'] = user.belong_dept return super().save(**kwargs) class EmployeeNotWorkRemarkSerializer(ModelSerializer): class Meta: model = Employee fields = ['not_work_remark'] class ClockRecordListSerializer(serializers.ModelSerializer): create_by_ = UserSimpleSerializer(source='create_by', read_only=True) class Meta: model = ClockRecord fields = '__all__' class NotWorkRemarkListSerializer(serializers.ModelSerializer): class Meta: model = NotWorkRemark fields = '__all__'