我正在使用 Django==1.11 . 正如我从基于类的视图中理解的那样,在本例中为ListView,您可以使用 self.kwargs 访问get_queryset中的url params,并回答here和here . 当我使用get_context_data和self.kwargs时,我没有问题 .
但我不能让它在get_queryset中工作 . 我已经尝试了很多替代方案,但我无法找到正确的选择 .
我的代码:
urls
urlpatterns = [
url(r'^escuelas/(?P<level>(inicial|primario|secundario))/$', SchoolListView.as_view(), name='school-by-level-index'),
#...
view
class SchoolListView(ListView):
model = School
template_name = 'edu/adminlte/school_index.html'
def get_queryset(self):
queryset = super(SchoolListView, self).get_queryset()
"""
Here below self.kwargs['level'] does not return anything as I would expect
"""
level = self.kwargs['level']
if level is 'inicial':
queryset = School.objects.filter(level='I')
return queryset
return queryset
谢谢 .
1 回答
我知道这很简单:
double equals vs is in python
我的代码是:
但它必须是