向Django通用视图传递参数的查询集
我想在一个通用视图上做一个查询,方法是这样的:
category_info = {
'queryset' : ModelObject.objects.filter(category=category_id)
}
其中category_id
会在网址中指定
(r'^category/(?P<category_id>\d+)$', 'object_list', category_info )
但是我不知道怎么从网址中获取数据,然后把它传递给分类信息...
1 个回答
3
你需要自己定义一个视图,然后在里面返回一个通用视图:
urls.py:
(r'^category/(?P<category_id>\d+)$', 'myapp.views.category_list')
myapp/views.py
from django.views.generic.list_detail import object_list
def category_list(request, category_id):
queryset = ModelObject.objects.filter(category=category_id)
return object_list(request, queryset=queryset)
你还可以根据文档中提到的参数进一步自定义这个通用视图。文档链接(你可能还想确认一下这个分类是否存在,如果不存在就返回404错误)