1. 程式人生 > >This QueryDict instance is immutable

This QueryDict instance is immutable

查閱官方文件,發現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