from rest_framework import serializers from ..models import Region class RegionSerializer(serializers.ModelSerializer): children = serializers.SerializerMethodField() class Meta: model = Region fields = ['id', 'name', 'code', 'level', 'parent_id', 'pinyin', 'children'] def get_children(self, obj): children = obj.children.all() if children.exists(): return RegionSerializer(children, many=True).data return None class RegionSimpleSerializer(serializers.ModelSerializer): class Meta: model = Region fields = ['id', 'name', 'code', 'level', 'parent_id', 'pinyin']