Handle import of OrderedDict from compat module

This commit is contained in:
David Fischer 2014-03-27 08:51:55 +01:00
parent 84d6893094
commit 5e6f015ee3
4 changed files with 8 additions and 6 deletions

View File

@ -599,3 +599,8 @@ except ImportError:
klass.__unicode__ = klass.__str__ klass.__unicode__ = klass.__str__
klass.__str__ = lambda self: self.__unicode__().encode('utf-8') klass.__str__ = lambda self: self.__unicode__().encode('utf-8')
return klass return klass
if django.VERSION >= (1, 7):
from collections import OrderedDict
else:
from django.utils.datastructures import SortedDict as OrderedDict

View File

@ -10,7 +10,6 @@ import datetime
import inspect import inspect
import re import re
import warnings import warnings
from collections import OrderedDict
from decimal import Decimal, DecimalException from decimal import Decimal, DecimalException
from django import forms from django import forms
from django.core import validators from django.core import validators
@ -24,7 +23,7 @@ from django.utils.translation import ugettext_lazy as _
from rest_framework import ISO_8601 from rest_framework import ISO_8601
from rest_framework.compat import ( from rest_framework.compat import (
timezone, parse_date, parse_datetime, parse_time, BytesIO, six, smart_text, timezone, parse_date, parse_datetime, parse_time, BytesIO, six, smart_text,
force_text, is_non_str_iterable force_text, is_non_str_iterable, OrderedDict
) )
from rest_framework.settings import api_settings from rest_framework.settings import api_settings

View File

@ -2,10 +2,9 @@
Helper classes for parsers. Helper classes for parsers.
""" """
from __future__ import unicode_literals from __future__ import unicode_literals
from collections import OrderedDict
from django.db.models.query import QuerySet from django.db.models.query import QuerySet
from django.utils.functional import Promise from django.utils.functional import Promise
from rest_framework.compat import timezone, force_text from rest_framework.compat import timezone, force_text, OrderedDict
from rest_framework.serializers import DictWithMetadata, OrderedDictWithMetadata from rest_framework.serializers import DictWithMetadata, OrderedDictWithMetadata
import datetime import datetime
import decimal import decimal

View File

@ -3,12 +3,11 @@ Provides an APIView class that is the base of all views in REST framework.
""" """
from __future__ import unicode_literals from __future__ import unicode_literals
from collections import OrderedDict
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.http import Http404 from django.http import Http404
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from rest_framework import status, exceptions from rest_framework import status, exceptions
from rest_framework.compat import smart_text, HttpResponseBase, View from rest_framework.compat import smart_text, HttpResponseBase, OrderedDict, View
from rest_framework.request import Request from rest_framework.request import Request
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.settings import api_settings from rest_framework.settings import api_settings