[Django] #20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change url is removed from get_urls

25 views
Skip to first unread message

Django

unread,
Aug 18, 2013, 11:02:40 AM8/18/13
to django-...@googlegroups.com
#20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change
url is removed from get_urls
-------------------------------+--------------------
Reporter: koirikivi | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: master
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------
Accessing the {{{changelist_view}}} of a {{{ModelAdmin}}} subclass results
in a {{{NoReverseMatch}}} error if {{{get_urls}}} is overridden so that
the "appname_modelname_change" url is removed, but
"appname_modelname_changelist" is left untouched.

Example ModelAdmin subclass causing this error:

{{{
class UnchangeableModelAdmin(admin.ModelAdmin):
model = models.UnchangeableModel

def get_urls(self):
# return the standard urls, except for the change url
urlpatterns0 = super(UnchangeableModelAdmin, self).get_urls()
return [p for p in urlpatterns0 if not p.name.endswith("_change")]
}}}

Traceback points to line 91 in
{{{django/contrib/admin/templates/admin/change_list.html}}}, namely the
{{{ result_list}}} template tag.

Related issue: #20640

--
Ticket URL: <https://code.djangoproject.com/ticket/20934>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Aug 18, 2013, 11:21:48 AM8/18/13
to django-...@googlegroups.com
#20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change
url is removed from get_urls
-------------------------------+--------------------------------------

Reporter: koirikivi | Owner: nobody
Type: Bug | Status: new
Component: Uncategorized | Version: master
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
-------------------------------+--------------------------------------
Changes (by koirikivi):

* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0


Comment:

Created a test project to verify this bug and #20640:
https://github.com/koirikivi/django-admin-views-test

--
Ticket URL: <https://code.djangoproject.com/ticket/20934#comment:1>

Django

unread,
Aug 19, 2013, 12:04:01 PM8/19/13
to django-...@googlegroups.com
#20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change
url is removed from get_urls
-------------------------------+------------------------------------

Reporter: koirikivi | Owner: nobody
Type: Bug | Status: new
Component: contrib.admin | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------
Changes (by timo):

* component: Uncategorized => contrib.admin
* stage: Unreviewed => Accepted


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

Django

unread,
Aug 21, 2013, 5:58:50 AM8/21/13
to django-...@googlegroups.com
#20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change
url is removed from get_urls
-------------------------------+-------------------------------------
Reporter: koirikivi | Owner: koirikivi
Type: Bug | Status: assigned

Component: contrib.admin | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------+-------------------------------------
Changes (by koirikivi):

* status: new => assigned
* owner: nobody => koirikivi


--
Ticket URL: <https://code.djangoproject.com/ticket/20934#comment:3>

Django

unread,
Aug 21, 2013, 12:26:19 PM8/21/13
to django-...@googlegroups.com
#20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change
url is removed from get_urls
-------------------------------+-------------------------------------
Reporter: koirikivi | Owner: koirikivi
Type: Bug | Status: assigned
Component: contrib.admin | Version: master
Severity: Normal | 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 koirikivi):

* has_patch: 0 => 1


Comment:

Topic branch at https://github.com/koirikivi/django/tree/ticket_20934
Pull request at https://github.com/django/django/pull/1499

Tests pass under sqlite and postgresql

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

Django

unread,
Aug 22, 2013, 10:09:08 AM8/22/13
to django-...@googlegroups.com
#20934: NoReverseMatch on ModelAdmin.changelist_view if appname_modelname_change
url is removed from get_urls
-------------------------------+-------------------------------------
Reporter: koirikivi | Owner: koirikivi
Type: Bug | Status: closed
Component: contrib.admin | Version: master
Severity: Normal | Resolution: fixed

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 Tim Graham <timograham@…>):

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


Comment:

In [changeset:"65cf82bd08631a7aa8d9dd007b2527476fa3304f"]:
{{{
#!CommitTicketReference repository=""
revision="65cf82bd08631a7aa8d9dd007b2527476fa3304f"
Fixed #20934 -- Avoided NoReverseMatch in ModelAdmin.changelist_view

The view tried to display links to a ModelAdmin's change_view, which
resulted in NoReverseMatches if get_urls was overridden to remove the
corresponding url.
}}}

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

Reply all
Reply to author
Forward
0 new messages