From f1798b0cc6680aaa8ed5821cd9ab6e8cbc3cec04 Mon Sep 17 00:00:00 2001 From: seroy Date: Thu, 13 Apr 2017 11:53:56 +0300 Subject: [PATCH] added ability to deserialize string value --- localized_fields/fields/localized_field.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/localized_fields/fields/localized_field.py b/localized_fields/fields/localized_field.py index 1f3d205..8798892 100644 --- a/localized_fields/fields/localized_field.py +++ b/localized_fields/fields/localized_field.py @@ -1,3 +1,5 @@ +from typing import Union + from django.conf import settings from django.db.utils import IntegrityError from django.utils import six, translation @@ -114,7 +116,7 @@ class LocalizedField(HStoreField): return cls.attr_class(value) - def to_python(self, value: dict) -> LocalizedValue: + def to_python(self, value: Union[dict, str, None]) -> LocalizedValue: """Turns the specified database value into its Python equivalent. @@ -127,7 +129,8 @@ class LocalizedField(HStoreField): A :see:LocalizedValue instance containing the data extracted from the database. """ - + # make deserialization if need by parent method + value = super(LocalizedField, self).to_python(value) if not value or not isinstance(value, dict): return self.attr_class()