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