__getitem__ to check for container-like objects

This commit is contained in:
Samuel Sutch 2014-07-10 14:26:53 -06:00
parent 4762455af3
commit 467bc56e08

View File

@ -24,7 +24,7 @@ from django.utils.datastructures import SortedDict
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, Mapping force_text, is_non_str_iterable
) )
from rest_framework.settings import api_settings from rest_framework.settings import api_settings
@ -50,8 +50,8 @@ def get_component(obj, attr_name):
Given an object, and an attribute name, Given an object, and an attribute name,
return that attribute on the object. return that attribute on the object.
""" """
if isinstance(obj, Mapping): if hasattr(obj, '__getitem__'):
val = obj.get(attr_name) val = obj[attr_name]
else: else:
val = getattr(obj, attr_name) val = getattr(obj, attr_name)