diff --git a/rest_framework/request.py b/rest_framework/request.py index fd4f6a3e2a..e4b5bc263d 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -14,7 +14,6 @@ from django.http.multipartparser import parse_header from django.utils import six from django.utils.datastructures import MultiValueDict -from django.utils.datastructures import MergeDict as DjangoMergeDict from rest_framework import HTTP_HEADER_ENCODING from rest_framework import exceptions from rest_framework.settings import api_settings @@ -61,15 +60,6 @@ def __exit__(self, *args, **kwarg): self.view.action = self.action -class MergeDict(DjangoMergeDict, dict): - """ - Using this as a workaround until the parsers API is properly - addressed in 3.1. - """ - def __init__(self, *dicts): - self.dicts = dicts - - class Empty(object): """ Placeholder for unset attributes. @@ -328,7 +318,8 @@ def _load_data_and_files(self): if not _hasattr(self, '_data'): self._data, self._files = self._parse() if self._files: - self._full_data = MergeDict(self._data, self._files) + self._full_data = self._data.copy() + self._full_data.update(self._files) else: self._full_data = self._data @@ -392,7 +383,8 @@ def _perform_form_overloading(self): # At this point we're committed to parsing the request as form data. self._data = self._request.POST self._files = self._request.FILES - self._full_data = MergeDict(self._data, self._files) + self._full_data = self._data.copy() + self._full_data.update(self._files) # Method overloading - change the method and remove the param from the content. if ( pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy