misc: use force_str in lazy variables (#36515)

This commit is contained in:
Frédéric Péters 2019-11-13 09:44:01 +01:00
parent 53812ecd8e
commit 8be31ef846
1 changed files with 5 additions and 4 deletions

View File

@ -16,6 +16,7 @@
import warnings
from django.utils import six
from django.utils.encoding import force_text
from django.utils.functional import SimpleLazyObject
@ -23,7 +24,7 @@ from quixote import get_publisher, get_request
from pyproj import Geod
from .qommon import misc
from .qommon import misc, force_str
from .qommon.evalutils import make_datetime
from .qommon.templatetags.qommon import parse_datetime
from .qommon.storage import (Or, Equal, NotEqual)
@ -519,9 +520,9 @@ class LazyFieldVar(object):
def __str__(self):
value = self.get_value()
if isinstance(value, unicode):
return value.encode(get_publisher().site_charset)
return str(value)
if not isinstance(value, six.string_types):
value = str(value)
return force_str(value)
def __nonzero__(self):
if self._field.key == 'bool':