XH_Digital_Management/application/org_mgnt/serializers.py

42 lines
1.4 KiB
Python

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__'