Почему данные сообщения копии в Django вместо того, чтобы работать с ним непосредственно?

Примеры кода Django, включающие данные сообщения часто, показывают код, подобный этому:

if request.method == "POST":
   post = request.POST.copy()
   #do stuff with post data

Существует ли причина копирования данных сообщения вместо того, чтобы работать с ним непосредственно?

5
задан Ciro Santilli 新疆改造中心法轮功六四事件 7 June 2016 в 17:24
поделиться

1 ответ

Я думаю, это потому, что request.POST сам по себе определен как неизменный. Если вам нужна версия, которую вы действительно можете изменить (изменяемость), вам нужна копия данных для работы.

См. ссылку (request.POST - это экземпляр QueryDict).


Экземпляры класса QueryDict

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

10
ответ дан 13 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: