我想以这种方式在通用视图上创建一个查询集:
category_info = {
'queryset' : ModelObject.objects.filter(category=category_id)
}
其中category_id
将在网址上说明
(r'^category/(?P<category_id>\d+)$', 'object_list', category_info )
但我不知道如何从URL获取数据并将其传递给类别信息...
答案 0 :(得分: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)
您还可以使用提到的in the documentation参数进一步自定义通用视图。 (您可能还要验证该类别是否存在,如果不存在则抛出404)