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