mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-04 20:40:14 +03:00
dict attr fix
This commit is contained in:
parent
1359061789
commit
12a3660867
|
@ -123,6 +123,8 @@ def get_related_model(field):
|
|||
|
||||
|
||||
def value_from_object(field, obj):
|
||||
if isinstance(obj, dict):
|
||||
return obj[field.attname]
|
||||
if django.VERSION < (1, 9):
|
||||
return field._get_val_from_obj(obj)
|
||||
field.value_from_object(obj)
|
||||
|
|
|
@ -1227,6 +1227,8 @@ class DurationField(Field):
|
|||
self.fail('invalid', format='[DD] [HH:[MM:]]ss[.uuuuuu]')
|
||||
|
||||
def to_representation(self, value):
|
||||
if isinstance(value, six.string_types):
|
||||
return value
|
||||
return duration_string(value)
|
||||
|
||||
|
||||
|
@ -1686,4 +1688,6 @@ class ModelField(Field):
|
|||
value = value_from_object(self.model_field, obj)
|
||||
if is_protected_type(value):
|
||||
return value
|
||||
if isinstance(obj, dict):
|
||||
return obj[self.model_field.attname]
|
||||
return self.model_field.value_to_string(obj)
|
||||
|
|
Loading…
Reference in New Issue
Block a user