查阅官方文档,发现QueryDict实例变成一个不可修改。
官方文档解释:
在正常的请求/响应周期中访问时,QueryDicts request.POST和request.GET将是不可变的。要获得可变版本,您需要使用QueryDict.copy()。
解决办法:
方法1:
data=request.POST.copy()
django rest
data=request.data.copy()
方法2:
data=request.POST
# 记住旧的方式
_mutable = data._mutable
# 设置_mutable为True
data._mutable = True
# 改变你想改变的数据
do something;做我们想要做的事
data['name']='chenxinming'
# 恢复_mutable原来的属性
data._mutable = _mutable