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