django restframework 不返回空值

直接上代碼了

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

    def get_children(self, obj):
        pid = obj.id
        return OrgListSerializer(Orgs.objects.filter(deltime=0, pid=pid), many=True).data

    class Meta:
        model = Orgs
        fields = ('id', 'pid', 'sn', 'name', 'memo', 'children')

    # 最終通過該方法實現刪除控制。是針對instance而言的,如果有多個空值的話,可以for循環判斷一下
    def to_representation(self, instance):
        """delete children:[]"""
        ret = super().to_representation(instance)

        if not ret['children']:
            ret.pop('children')
        return ret

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章