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
,官方原文是这样: