2011-10-27 2 views
4

dir(request.GET)を見ると、popがメソッドとしてリストされています。私は過去の要求から属性を取り除いたとも信じています。Djangoがpop()のQueryDictエラーを要求します

これは正確ですか?もしそうなら、なぜこれは失敗するでしょうか?

request.GET.pop('key') 

答えて

11

request.GETrequest.POSTは不変QueryDictインスタンスです。つまり、属性を直接変更することはできません。

QueryDictをコピーすると、QueryDictが返されます。エラーを発生させることなくコピーのpopメソッドを呼び出すことができます。

request.GET 
GET = request.GET.copy() 
GET.pop('key')  
+0

ありがとうalasdair、大変感謝しています。 – Ben

関連する問題