0
我已阅读此问题中的出色说明 Dynamically filter ListView CBV in Django 1.7。在Django中使用默认Queryset进行动态过滤
但我不想在查询集上获得额外的帮助。
# urls.py
urlpatterns = patterns('',
url(r'^(?P<exp>[ASG])$', \
ScholarshipDirectoryView.as_view(),\
name='scholarship_directory'),)
# views.py
class ScholarshipDirectoryView(ListView):
queryset= Scholarship.objects.all()
model = Scholarship
template_name = 'scholarship-directory.html'
def get_queryset(self):
qs = super(ScholarshipDirectoryView, self).get_queryset()
return qs.filter(experience_level__exact=self.kwargs['exp'])
如果url中缺少“exp”参数,干什么回退到标准查询集?
我想采取这种方法,因为我不认为为完整的Queryset和Custom/Filtered Queryset制定额外的视图或额外的urlpattern是有意义的。
是的我知道,但它干吗? @ daniel-roseman – villancikos
重复什么? –
你是对的。没有什么是重复的。虽然我没有得到它的工作。它返回完整的qs。 – villancikos