DRF框架在嵌套关系下实现嵌套对象字段的过滤

当需要对关联对象的字段进行选择性显示时,在所对应的serializer类中声明引用的字段。

例如:

class TrackSerializer(serializers.ModelSerializer):
    class Meta:
        model = Track
        fields = ['order', 'title', 'duration']

class AlbumSerializer(serializers.ModelSerializer):
    tracks = TrackSerializer(many=True, read_only=True)

    class Meta:
        model = Album
        fields = ['album_name', 'artist', 'tracks']

注意:

  • 字段tracks`所关联的对象需要在被引用的模型中引用。
  • 当存在一对多的关系时,应在序列化字段上添加many=True,官方原文是这样:



来自为知笔记(Wiz)


posted on 2021-08-13 12:17  白衣风云  阅读(139)  评论(0编辑  收藏  举报

导航