diff options
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/base.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py index 2f961a4393..fccc6633af 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -28,6 +28,7 @@ from django.db.models.signals import ( class_prepared, post_init, post_save, pre_init, pre_save, ) from django.db.models.utils import make_model_tuple +from django.utils.encoding import force_str from django.utils.text import capfirst, get_text_list from django.utils.translation import gettext_lazy as _ from django.utils.version import get_version @@ -921,7 +922,8 @@ class Model(metaclass=ModelBase): def _get_FIELD_display(self, field): value = getattr(self, field.attname) - return dict(field.flatchoices).get(value, value) + # force_str() to coerce lazy strings. + return force_str(dict(field.flatchoices).get(value, value), strings_only=True) def _get_next_or_previous_by_FIELD(self, field, is_next, **kwargs): if not self.pk: |
