django drf serializers 序列化类树形递归的实现 序列化外键字段列表树

Python

django drf serializers 序列化类树形递归的实现 序列化外键字段列表树

年份
2022
分类
Python

www.lanol.cn
父序列化器:

class ReadDeptSerializer(serializers.ModelSerializer):
  id = serializers.IntergerField()
  children = ChildDeptSerializer(many=True)

  class Meta:
    model = Dept
    exclude = ['company','parent']
    depth = 1

子序列化器

class ChildDeptSerializer(serializers.ModelSerializer):
  children = serializers.SerializerMethodField()

  class Meta:
    model = Dept
    depth = 1
    exclude = ['company']

  def get_children(self,obj):
    if obj.children:
      return childDeptSerializer(obj.children,many=True).data
    return None