23 lines
653 B
Python
23 lines
653 B
Python
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']
|