#16751 closed Bug (needsinfo)
GET variable names replaced by 'e'
Reported by: | 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 )
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 by , 13 years ago
comment:2 by , 13 years ago
Description: | modified (diff) |
---|---|
Resolution: | → needsinfo |
Status: | new → closed |
Without further explanation or concrete code example I can't reproduce this.
comment:3 by , 13 years ago
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 by , 13 years ago
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/options.py?rev=16602#L1102 (in dev version, but same in 1.3)
comment:5 by , 13 years ago
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?
Bad formatting, let's see if this works: