mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-05 04:50:12 +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):
|
def value_from_object(field, obj):
|
||||||
|
if isinstance(obj, dict):
|
||||||
|
return obj[field.attname]
|
||||||
if django.VERSION < (1, 9):
|
if django.VERSION < (1, 9):
|
||||||
return field._get_val_from_obj(obj)
|
return field._get_val_from_obj(obj)
|
||||||
field.value_from_object(obj)
|
field.value_from_object(obj)
|
||||||
|
|
|
@ -1227,6 +1227,8 @@ class DurationField(Field):
|
||||||
self.fail('invalid', format='[DD] [HH:[MM:]]ss[.uuuuuu]')
|
self.fail('invalid', format='[DD] [HH:[MM:]]ss[.uuuuuu]')
|
||||||
|
|
||||||
def to_representation(self, value):
|
def to_representation(self, value):
|
||||||
|
if isinstance(value, six.string_types):
|
||||||
|
return value
|
||||||
return duration_string(value)
|
return duration_string(value)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1686,4 +1688,6 @@ class ModelField(Field):
|
||||||
value = value_from_object(self.model_field, obj)
|
value = value_from_object(self.model_field, obj)
|
||||||
if is_protected_type(value):
|
if is_protected_type(value):
|
||||||
return value
|
return value
|
||||||
|
if isinstance(obj, dict):
|
||||||
|
return obj[self.model_field.attname]
|
||||||
return self.model_field.value_to_string(obj)
|
return self.model_field.value_to_string(obj)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user