examtest/test_server/rbac/serializers/organization_serializer.py

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