diff options
| author | Alexander Lazarević <laza@e11bits.com> | 2024-01-11 11:44:01 +0700 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-01-11 12:47:06 +0100 |
| commit | 4787972c941b0d090cf083e84a98c1791bb2ae4b (patch) | |
| tree | c5a4a3526d50d70ec8e4f36a4cbc064e150421e7 | |
| parent | 40b5b1596f7505416bd30d5d7582b5a9004ea7d5 (diff) | |
Refs #28404 -- Made displaying property values in admin respect non-None empty values.
| -rw-r--r-- | django/contrib/admin/utils.py | 3 | ||||
| -rw-r--r-- | tests/admin_utils/tests.py | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/django/contrib/admin/utils.py b/django/contrib/admin/utils.py index 97a09143ad..0bcf99ae85 100644 --- a/django/contrib/admin/utils.py +++ b/django/contrib/admin/utils.py @@ -6,6 +6,7 @@ from functools import reduce from operator import or_ from django.core.exceptions import FieldDoesNotExist +from django.core.validators import EMPTY_VALUES from django.db import models, router from django.db.models.constants import LOOKUP_SEP from django.db.models.deletion import Collector @@ -459,7 +460,7 @@ def display_for_value(value, empty_value_display, boolean=False): if boolean: return _boolean_icon(value) - elif value is None: + elif value in EMPTY_VALUES: return empty_value_display elif isinstance(value, bool): return str(value) diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py index 393770bd2d..067b47198d 100644 --- a/tests/admin_utils/tests.py +++ b/tests/admin_utils/tests.py @@ -17,6 +17,7 @@ from django.contrib.admin.utils import ( lookup_field, quote, ) +from django.core.validators import EMPTY_VALUES from django.db import DEFAULT_DB_ALIAS, models from django.test import SimpleTestCase, TestCase, override_settings from django.utils.formats import localize @@ -249,6 +250,12 @@ class UtilsTests(SimpleTestCase): self.assertEqual(display_for_value(True, ""), "True") self.assertEqual(display_for_value(False, ""), "False") + def test_list_display_for_value_empty(self): + for value in EMPTY_VALUES: + with self.subTest(empty_value=value): + display_value = display_for_value(value, self.empty_value) + self.assertEqual(display_value, self.empty_value) + def test_label_for_field(self): """ Tests for label_for_field |
