关于context的用法示例

发布时间 2023-07-26 21:29:25作者: ranbo145

1.示例代码

ser = self.get_serializer(context={'request': request},data=request.data)

以上代码使用了context的方法将request传入到序列化类中 

2.另一种写法

ser = self.get_serializer(data=request.data)
ser.aaa=request

 这样也可以向序列化类传入request,如果序列化类中也有名叫aaa的变量,那么就会产生数据的污染

3.context写法的好处

ser = self.get_serializer(data=request.data)
ser.context['request']=request # context是一个字典

这样的写法可以避免数据的污染

在序列化类中可以用以下代码来获取request

request = self.context.get('request')

简化写法

ser = self.get_serializer(context={'request': request},data=request.data)