dict attr fix

This commit is contained in:
Roman Vasilyev 2016-06-28 10:50:49 -07:00
parent 1359061789
commit 12a3660867
2 changed files with 6 additions and 0 deletions

View File

@ -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)

View File

@ -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)