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'
]
多用于在反向查询的时候,让外键字段返回多个指定的关联表字段(说实话用处不大)
反序列化(常用)
class CreateBookSerializer(serializers.ModelSerializer):
publish = serializers.SlugRelatedField(
queryset=Publish.objects.all(), # 指定关联表
slug_field='uuid' # 该字段参数是指定关联表的字段(需要唯一)
)
class Meta:
model = Book
fields = [
'title',
'price',
'publish'
]
这样就可以直接新增数据的时候直接关联到关联表对象,意思就是传你指定的字段参数,然后会帮你找到该关联表的对象,然后就可以进行新建操作,把新对象关联上关联表对象
标签:serializers,关联,字段,SlugRelatedField,序列化,class From: https://www.cnblogs.com/zonghan/p/16739229.html