Noob在这里浏览了Django文档,试图抓住它们如何组合在一起。
在this section of their document on generic class-based views中,他们会将特定发布商(在此示例中)的过滤参数的硬编码演示为ListView
的{{1}}属性,并建议这样做会产生问题一旦您需要为每个发布商单独queryset
s。这对我来说很有意义。在next section中,他们建议以这种方式覆盖ListView
的{{1}}方法:
ListView
我的问题是,为什么不在get_queryset()
中声明class PublisherBookList(ListView):
template_name = 'books/books_by_publisher.html'
def get_queryset(self):
self.publisher = get_object_or_404(Publisher,
name=self.kwargs['publisher'])
return Book.objects.filter(publisher=self.publisher)
方法,并允许get()
从网址中获取ListView
?我在这里缺少什么?