首页 > 其他分享 >SlugRelatedField字段

SlugRelatedField字段

时间:2022-09-28 19:01:09浏览次数:59  
标签:serializers 关联 字段 SlugRelatedField 序列化 class

SlugRelatedField字段的用法

该字段用于外键字段
该字段在序列化的时候多用于反向查询,在反序列化的时候用于接收关联表的唯一字段来生成该关联对象
eg:

序列化

class PublishListSerializer(serializers.ModelSerializer):
    book = serializers.SlugRelatedField(
        many=True,
        slug_field='title',
        read_only=True
    )

    class Meta:
        model = Publish
        fields = [
            'name',
            'addr',
            'book'
        ]

image

多用于在反向查询的时候,让外键字段返回多个指定的关联表字段(说实话用处不大)

反序列化(常用)

class CreateBookSerializer(serializers.ModelSerializer):
    publish = serializers.SlugRelatedField(
        queryset=Publish.objects.all(),  # 指定关联表
        slug_field='uuid'  # 该字段参数是指定关联表的字段(需要唯一)
    )

    class Meta:
        model = Book
        fields = [
            'title',
            'price',
            'publish'
        ]

image

这样就可以直接新增数据的时候直接关联到关联表对象,意思就是传你指定的字段参数,然后会帮你找到该关联表的对象,然后就可以进行新建操作,把新对象关联上关联表对象

标签:serializers,关联,字段,SlugRelatedField,序列化,class
From: https://www.cnblogs.com/zonghan/p/16739229.html

相关文章