summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantoliny0919 <antoliny0919@gmail.com>2025-01-21 16:20:23 +0900
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-01-22 14:56:44 +0100
commite262d5355d82901f81fba6c7015643c2b87125bf (patch)
tree1fe819bb14e3aee293eb91fb61317fcc3b9a286f
parent1b6ec1f944844f868cfac82f7d6f38d57c898900 (diff)
Fixed #36114 -- Fixed link visibility when list_display_links field contains only whitespace.
-rw-r--r--django/contrib/admin/templatetags/admin_list.py2
-rw-r--r--tests/admin_changelist/tests.py11
2 files changed, 13 insertions, 0 deletions
diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py
index 7a49587172..6615e98bbf 100644
--- a/django/contrib/admin/templatetags/admin_list.py
+++ b/django/contrib/admin/templatetags/admin_list.py
@@ -223,6 +223,8 @@ def items_for_result(cl, result, form):
empty_value_display = getattr(
attr, "empty_value_display", empty_value_display
)
+ if isinstance(value, str) and value.strip() == "":
+ value = ""
if f is None or f.auto_created:
if field_name == "action_checkbox":
row_classes = ["action-checkbox"]
diff --git a/tests/admin_changelist/tests.py b/tests/admin_changelist/tests.py
index 8e4557c7c5..17866c8ad6 100644
--- a/tests/admin_changelist/tests.py
+++ b/tests/admin_changelist/tests.py
@@ -1076,6 +1076,17 @@ class ChangeListTests(TestCase):
"http://blues_history.com</a>" % g.pk,
)
+ def test_blank_str_display_links(self):
+ self.client.force_login(self.superuser)
+ gc = GrandChild.objects.create(name=" ")
+ response = self.client.get(
+ reverse("admin:admin_changelist_grandchild_changelist")
+ )
+ self.assertContains(
+ response,
+ '<a href="/admin/admin_changelist/grandchild/%s/change/">-</a>' % gc.pk,
+ )
+
def test_clear_all_filters_link(self):
self.client.force_login(self.superuser)
url = reverse("admin:auth_user_changelist")