Django запрашивает ошибки QueryDict для pop () - PullRequest
4 голосов
/ 28 октября 2011

Глядя на dir (request.GET), я замечаю, что pop указан как метод. Я также полагаю, что я вытеснил атрибуты из запроса в прошлом.

Это точно? Если так, то почему это не получится?

request.GET.pop('key')

Ответы [ 2 ]

12 голосов
/ 28 октября 2011

request.GET и request.POST являются неизменными QueryDict экземпляров.Это означает, что вы не можете изменить их атрибуты напрямую.

Копирование QueryDict, возвращает изменяемый QueryDict.Затем вы можете вызвать метод pop копии, не вызывая ошибки.

request.GET
GET = request.GET.copy()
GET.pop('key')    
0 голосов
/ 29 июня 2018

Поскольку pop - это бессмысленные слова, я рекомендую вместо него использовать request.GET.get('key', <your default value>).

...