from rest_framework import serializers from .models import PrimaryDepartment, SecondaryDepartment, EntityChangeRecord, CompanyBankAccount class PrimaryDepartmentSerializer(serializers.ModelSerializer): class Meta: model = PrimaryDepartment fields = '__all__' class SecondaryDepartmentSerializer(serializers.ModelSerializer): class Meta: model = SecondaryDepartment fields = '__all__' # 序列化模型的所有字段 class EntityChangeRecordSerializer(serializers.ModelSerializer): change_date = serializers.DateField(format='%Y-%m-%d') modified_obj = serializers.SerializerMethodField() modified_field_verbose = serializers.SerializerMethodField() class Meta: model = EntityChangeRecord fields = ('modified_obj', 'modified_field_verbose', 'content_before_change', 'content_after_change', 'change_date', 'change_executed_by') def get_modified_obj(self, obj): company_entity = obj.company_entity return f"{company_entity.company_name}" def get_modified_field_verbose(self, obj): # 获取模型类 model_class = obj.company_entity._meta.model # 获取字段的 verbose_name field = model_class._meta.get_field(obj.change_type) return field.verbose_name class CompanyBankAccountSerializer(serializers.ModelSerializer): class Meta: model = CompanyBankAccount fields = '__all__'