在开发神魔
This QueryDict instance is immutable
request.data为queryset对象,默认不可修改
在正常的请求/响应周期中访问时,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']='xxxxx'
# 恢复_mutable原来的属性
data._mutable = _mutable
django项目启动时遇到celery导包问题
当python的版本是3.7的时候,使用celery会出现找不到Celery模块的问题
python版本:3.7
celery版本:4.4.7
django版本:3.0.8
后面查阅资料才发现少了importlib-metadata这个包,而且这个包的版本不能超过5
解决办法:安装 importlib-metadata, 版本必须小于5
pip install importlib-metadata==4.8.3