在开发神魔

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
posted @ 2023-06-28 11:19  Duosg  阅读(15)  评论(0编辑  收藏  举报