Fixed last fallback translation case

This commit is contained in:
Semyon 2019-11-12 17:07:58 +03:00
parent 0db7972b5a
commit 621918af4a

View File

@ -230,12 +230,14 @@ def get_translated_value(value):
return None
elif not isinstance(value, dict):
field_dict = value.to_dict()
elif isinstance(value, dict):
else:
field_dict = value
value = field_dict.get(get_current_locale())
field_dict = {k: v for k, v in field_dict.items() if v is not None}
result = field_dict.get(get_current_locale(), None)
# fallback
if value is None:
value = field_dict.get(get_default_locale())
if value is None:
value = field_dict.get(next(iter(field_dict.keys()), None))
return value
if result is None:
result = field_dict.get(get_default_locale(), None)
if result is None:
values = list(field_dict.values())
result = values[0] if values else None
return result