[Django] #36783: {% querystring %} loses multi-value QueryDict in 6.0

9 views
Skip to first unread message

Django

unread,
Dec 8, 2025, 9:53:31 AM (8 days ago) Dec 8
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
------------------------------+-------------------------------------------
Reporter: Marc Gibbons | Type: Bug
Status: new | Component: Template system
Version: 6.0 | Severity: Normal
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
------------------------------+-------------------------------------------
Given a request with query string in the path `?x=y&x=z&a=b&a=c`

`{% querystring %}`

**Expected (Django 5.2):**
`?x=y&x=z&a=b&a=c`

**Actual (Django 6.0):**
`?x=z&a=c`

Only the last value for each key is preserved.
--
Ticket URL: <https://code.djangoproject.com/ticket/36783>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Dec 8, 2025, 9:56:17 AM (8 days ago) Dec 8
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+--------------------------------------
Reporter: Marc Gibbons | Owner: (none)
Type: Bug | Status: new
Component: Template system | Version: 6.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+--------------------------------------
Comment (by Marc Gibbons):

Reproduced bug with failing test
--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:1>

Django

unread,
Dec 8, 2025, 10:19:14 AM (8 days ago) Dec 8
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+----------------------------------------
Reporter: Marc Gibbons | Owner: Marc Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+----------------------------------------
Changes (by Marc Gibbons):

* has_patch: 0 => 1
* owner: (none) => Marc Gibbons
* status: new => assigned

--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:2>

Django

unread,
Dec 8, 2025, 4:46:52 PM (8 days ago) Dec 8
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+----------------------------------------
Reporter: Marc Gibbons | Owner: Marc Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+----------------------------------------
Changes (by Jacob Walls):

* cc: Giannis Terzopoulos (added)
* severity: Normal => Release blocker
* stage: Unreviewed => Accepted

Comment:

Thanks for the clear report and speedy fix. Regression in
a39c28706aa7a8c3effd0980ae6d59ae67299d85 (#35529).
--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:3>

Django

unread,
Dec 9, 2025, 10:40:03 AM (7 days ago) Dec 9
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+----------------------------------------
Reporter: Marc Gibbons | Owner: Marc Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 1
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+----------------------------------------
Changes (by Jacob Walls):

* needs_docs: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:4>

Django

unread,
Dec 9, 2025, 4:19:40 PM (7 days ago) Dec 9
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+----------------------------------------
Reporter: Marc Gibbons | Owner: Marc Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+----------------------------------------
Changes (by Jacob Walls):

* needs_docs: 1 => 0

--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:5>

Django

unread,
Dec 10, 2025, 2:39:07 PM (6 days ago) Dec 10
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+----------------------------------------
Reporter: Marc Gibbons | Owner: Marc Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
---------------------------------+----------------------------------------
Changes (by Natalia Bidart):

* needs_better_patch: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:6>

Django

unread,
Dec 12, 2025, 8:47:07 AM (4 days ago) Dec 12
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
---------------------------------+----------------------------------------
Reporter: Marc Gibbons | Owner: Marc Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 1 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+----------------------------------------
Changes (by Jacob Walls):

* needs_better_patch: 1 => 0
* needs_tests: 0 => 1

--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:7>

Django

unread,
Dec 15, 2025, 3:07:13 PM (23 hours ago) Dec 15
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
-------------------------------------+-------------------------------------
Reporter: Marc Gibbons | Owner: Marc
| Gibbons
Type: Bug | Status: assigned
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution:
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):

* needs_tests: 1 => 0
* stage: Accepted => Ready for checkin

--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:8>

Django

unread,
Dec 15, 2025, 4:58:51 PM (21 hours ago) Dec 15
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
-------------------------------------+-------------------------------------
Reporter: Marc Gibbons | Owner: Marc
| Gibbons
Type: Bug | Status: closed
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by nessita <124304+nessita@…>):

* resolution: => fixed
* status: assigned => closed

Comment:

In [changeset:"922c4cf972e04b1ce7ecee592231106724dcfd09" 922c4cf9]:
{{{#!CommitTicketReference repository=""
revision="922c4cf972e04b1ce7ecee592231106724dcfd09"
Fixed #36783 -- Ensured proper handling of multi-value QueryDicts in
querystring template tag.

Co-authored-by: Jacob Walls <jacobty...@gmail.com>
Co-authored-by: Natalia <124304+...@users.noreply.github.com>
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:9>

Django

unread,
Dec 15, 2025, 5:00:31 PM (21 hours ago) Dec 15
to django-...@googlegroups.com
#36783: {% querystring %} loses multi-value QueryDict in 6.0
-------------------------------------+-------------------------------------
Reporter: Marc Gibbons | Owner: Marc
| Gibbons
Type: Bug | Status: closed
Component: Template system | Version: 6.0
Severity: Release blocker | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Comment (by Natalia <124304+nessita@…>):

In [changeset:"be26ac85fdf06a7a8a655f6e7000b1263890717d" be26ac85]:
{{{#!CommitTicketReference repository=""
revision="be26ac85fdf06a7a8a655f6e7000b1263890717d"
[6.0.x] Fixed #36783 -- Ensured proper handling of multi-value QueryDicts
in querystring template tag.

Co-authored-by: Jacob Walls <jacobty...@gmail.com>
Co-authored-by: Natalia <124304+...@users.noreply.github.com>

Backport of 922c4cf972e04b1ce7ecee592231106724dcfd09 from main.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/36783#comment:10>
Reply all
Reply to author
Forward
0 new messages