32 lines
		
	
	
		
			956 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			956 B
		
	
	
	
		
			Python
		
	
	
	
| from rest_framework import serializers
 | |
| from ..models import Organization
 | |
| 
 | |
| 
 | |
| class OrganizationSerializer(serializers.ModelSerializer):
 | |
|     """
 | |
|     组织架构序列化
 | |
|     """
 | |
|     type = serializers.ChoiceField(choices=Organization.organization_type_choices, default='company')
 | |
|     create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", required=False, read_only=True)
 | |
| 
 | |
|     class Meta:
 | |
|         model = Organization
 | |
|         fields = '__all__'
 | |
| 
 | |
| 
 | |
| class UserSerializer(serializers.Serializer):
 | |
|     id = serializers.IntegerField()
 | |
|     label = serializers.CharField(max_length=20, source='name')
 | |
| 
 | |
| 
 | |
| class OrganizationUserTreeSerializer(serializers.ModelSerializer):
 | |
|     """
 | |
|     组织架构树序列化
 | |
|     """
 | |
|     label = serializers.StringRelatedField(source='name')
 | |
|     children = UserSerializer(many=True, read_only=True, source='userprofile_set')
 | |
| 
 | |
|     class Meta:
 | |
|         model = Organization
 | |
|         fields = ('id', 'label', 'pid', 'children')
 |