from apps.system.models import User from rest_framework.serializers import ModelSerializer from rest_framework import serializers from utils.mixins import DynamicFieldsSerializerMixin from .models import ClockRecord, Employee from apps.system.serializers import OrganizationSimpleSerializer, UserListSerializer, UserSimpleSerializer from django.db.models.query import Prefetch class EmployeeSerializer(DynamicFieldsSerializerMixin, ModelSerializer): name = serializers.CharField(source='user.name', read_only=True) dept_ = OrganizationSimpleSerializer(source='user.dept', read_only=True) is_atwork = serializers.BooleanField(source='user.is_atwork', read_only=True) last_check_time = serializers.DateTimeField(source='user.last_check_time', read_only=True) class Meta: model = Employee exclude = ['face_data'] class FaceLoginSerializer(serializers.Serializer): base64 = serializers.CharField() class FaceClockCreateSerializer(serializers.Serializer): base64 = serializers.CharField() class ClockRecordListSerializer(serializers.ModelSerializer): create_by_ = UserSimpleSerializer(source='create_by', read_only=True) class Meta: model = ClockRecord fields = '__all__'