Opened 18 years ago
Closed 17 years ago
#2544 closed enhancement (invalid)
Pass variables from url handler to the query set of a generic view
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Generic views | Version: | |
Severity: | normal | Keywords: | |
Cc: | Triage Stage: | Design decision needed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
If would be nice if you could pass variables from the url regexp in urls.py to the filter of a query set when using generic views.
(r'^/?(?P<person>\w+)/$', 'django.views.generic.list_detail.object_list', {'queryset': Item.objects.filter(name__name__iexact=person))
Currently, a statement similar to the following will fail with a NameError similar to the below:
NameError at /dave/ name 'person' is not defined Request Method: GET Request URL: http://localhost:8000/dave/ Exception Type: NameError Exception Value: name 'dave' is not defined
The ideal behaviour would be that the filter function would be able to accept values from the url dispatcher.
This ticket arises from http://groups.google.com/group/django-users/browse_thread/thread/40c34ae87492d4dd/67cabff7abbbabe5#67cabff7abbbabe5 this discussion on django-users.
Change History (3)
comment:1 by , 18 years ago
Description: | modified (diff) |
---|
comment:2 by , 17 years ago
Triage Stage: | Unreviewed → Design decision needed |
---|
comment:3 by , 17 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
The solution here is to write a wrapper around the generic view.
Maybe this?
The generic view would call
queryset_func(kwargs)
at runtime, withkwargs
being the dictionary of parameters captured from the URL.