diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index cf37a382f81b..05d11bcbb7f8 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -16,3 +16,4 @@ b1e33ceceda1e75ff68c7deed8f6659683a195d3
c9178ef17a0e1070f5a25096d8e13385d404dc92
1101467ce0756272a54f4c7bc65c4c335a94111b
6cff02078799b7c683a0d39630d49ab4fe532e7c
+4286a23df64f6ce3b9b6ed097f4d1aac7d9e0de4
diff --git a/django/contrib/admin/templates/admin/actions.html b/django/contrib/admin/templates/admin/actions.html
index db7345dc6020..ff2a5fe3d7ba 100644
--- a/django/contrib/admin/templates/admin/actions.html
+++ b/django/contrib/admin/templates/admin/actions.html
@@ -9,7 +9,7 @@
{% endblock %}
{% block actions-counter %}
{% if actions_selection_counter %}
- {{ selection_note }}
+ {{ selection_note }}
{% if cl.result_count != cl.result_list|length %}
{{ selection_note_all }}
diff --git a/django/db/models/fields/json.py b/django/db/models/fields/json.py
index ed7b4d26a6a6..6478c57aaed8 100644
--- a/django/db/models/fields/json.py
+++ b/django/db/models/fields/json.py
@@ -698,8 +698,8 @@ class KeyTransformIRegex(
class KeyTransformNumericLookupMixin:
def process_rhs(self, compiler, connection):
rhs, rhs_params = super().process_rhs(compiler, connection)
- if not connection.features.has_native_json_field:
- rhs_params = [json.loads(value) for value in rhs_params]
+ if not connection.features.has_native_json_field and self.rhs_is_direct_value():
+ rhs_params = tuple(json.loads(value) for value in rhs_params)
return rhs, rhs_params
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index ac4265c4b483..e01ab3b538aa 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -4646,6 +4646,16 @@ def test_changelist_input_html(self):
# 1 select per object = 3 selects
self.assertContains(response, "