Opened 19 years ago
Closed 18 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 , 19 years ago
| Description: | modified (diff) |
|---|
comment:2 by , 18 years ago
| Triage Stage: | Unreviewed → Design decision needed |
|---|
comment:3 by , 18 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, withkwargsbeing the dictionary of parameters captured from the URL.