Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#16751 closed Bug (needsinfo)

GET variable names replaced by 'e'

Reported by: martopolis@… Owned by: nobody
Component: contrib.admin Version: 1.3
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Jannis Leidel)

I'm attempting to override the queryset() method to make a custom filter for the Change List Admin view. The idea was to append ?myview=1 to the URL and then check it like so:

if request.GET['myview'] == '1':

But everything I pass via the URL string is being replaced by the key name 'e' in the GET dictionary:

"Key 'myview' not found in <QueryDict: {u'e': [u'1']}>"

Curiously, this also happens in the final URL string. That is, the URL gets rewritten and redirected to ?e=1 as well.

Change History (5)

comment:1 Changed 11 years ago by anonymous

Bad formatting, let's see if this works:

if request.GET['myview'] == '1': ..

comment:2 Changed 11 years ago by Jannis Leidel

Description: modified (diff)
Resolution: needsinfo
Status: newclosed

Without further explanation or concrete code example I can't reproduce this.

comment:3 Changed 11 years ago by anonymous

I've noticed this only happens when opening a model change list view. That is, if I try to load http://mysite/admin/?variable=1, there's no problem. But when I try http://mysite/admin/myproject/model/?variable=1. the 'variable' portion gets rewritten as 'e'.

comment:4 Changed 11 years ago by Julien Phalip

Custom filters only exist in the development version and will be available in 1.4. The redirection with "?e=1" is when some GET parameters are recognized as invalid; see: source:django/trunk/django/contrib/admin/ (in dev version, but same in 1.3)

comment:5 Changed 11 years ago by anonymous

julien: Thanks for pointing to me to code in question. I see I can probably 'fix' this by just commenting out that block of code and adding 'pass' to the 'except' statement. Don't you think that Django should support passing custom parameters via GET in the changelist_view, though?

Note: See TracTickets for help on using tickets.
Back to Top