Skip to content

Commit fd1dd76

Browse files
committed
Fixed #35716 -- Fixed VariableDoesNotExist when rendering admin fieldsets.
Regression in 01ed59f. Thank you to Fábio Domingues and Marijke Luttekes for the report, and thank you to Natalia Bidart for the review.
1 parent 20d44ab commit fd1dd76

File tree

5 files changed

+13
-3
lines changed

5 files changed

+13
-3
lines changed

django/contrib/admin/templates/admin/change_form.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747

4848
{% block field_sets %}
4949
{% for fieldset in adminform %}
50-
{% include "admin/includes/fieldset.html" with heading_level=2 id_suffix=forloop.counter0 %}
50+
{% include "admin/includes/fieldset.html" with heading_level=2 prefix="fieldset" id_prefix=0 id_suffix=forloop.counter0 %}
5151
{% endfor %}
5252
{% endblock %}
5353

django/contrib/admin/templates/admin/edit_inline/stacked.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ <h3><b>{{ inline_admin_formset.opts.verbose_name|capfirst }}:</b> <span class="i
2626

2727
{% with parent_counter=forloop.counter0 %}
2828
{% for fieldset in inline_admin_form %}
29-
{% include "admin/includes/fieldset.html" with heading_level=4 id_prefix=parent_counter id_suffix=forloop.counter0 %}
29+
{% include "admin/includes/fieldset.html" with heading_level=4 prefix=fieldset.formset.prefix id_prefix=parent_counter id_suffix=forloop.counter0 %}
3030
{% endfor %}
3131
{% endwith %}
3232

django/contrib/admin/templates/admin/includes/fieldset.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{% with prefix=fieldset.formset.prefix|default:"fieldset" id_prefix=id_prefix|default:"0" id_suffix=id_suffix|default:"0" name=fieldset.name|default:""|slugify %}
1+
{% with name=fieldset.name|default:""|slugify %}
22
<fieldset class="module aligned {{ fieldset.classes }}"{% if name %} aria-labelledby="{{ prefix }}-{{ id_prefix}}-{{ name }}-{{ id_suffix }}-heading"{% endif %}>
33
{% if name %}
44
{% if fieldset.is_collapsible %}<details><summary>{% endif %}

docs/releases/5.1.1.txt

+3
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ Bugfixes
3535
* Restored, following a regression in Django 5.1, the ability to override the
3636
timezone and role setting behavior used within the ``init_connection_state``
3737
method of the PostgreSQL backend (:ticket:`35688`).
38+
39+
* Fixed a bug in Django 5.1 where variable lookup errors were logged when
40+
rendering admin fieldsets (:ticket:`35716`).

tests/admin_inlines/tests.py

+7
Original file line numberDiff line numberDiff line change
@@ -1768,6 +1768,13 @@ class TestInlineWithFieldsets(TestDataMixin, TestCase):
17681768
def setUp(self):
17691769
self.client.force_login(self.superuser)
17701770

1771+
@override_settings(DEBUG=True)
1772+
def test_fieldset_context_fully_set(self):
1773+
url = reverse("admin:admin_inlines_photographer_add")
1774+
with self.assertRaisesMessage(AssertionError, "no logs"):
1775+
with self.assertLogs("django.template", "DEBUG"):
1776+
self.client.get(url)
1777+
17711778
def test_inline_headings(self):
17721779
response = self.client.get(reverse("admin:admin_inlines_photographer_add"))
17731780
# Page main title.

0 commit comments

Comments
 (0)