Я пытаюсь добавить фильтры поиска и упорядочения на страницу, которая динамически создается с <slug:slug>
. Проблема заключается в том, что, как только я добавляю свой фильтр упорядочения, я получаю:
Обратное для 'фильтрованного по результатам теста' без аргументов, которые не найдены. Попробован 1 шаблон (ов): ['tests \ / results \ / (? P [-a-zA-Z0-9 _] +) \ / $']
Если я правильно читаю он говорит мне, что не может определить страницу, когда фильтр пуст. Проблема в том, что когда на странице нет фильтра упорядочения HTML, он работает просто отлично.
Кнопка Order_by HTML:
<!--Order By Button-->
<form action="{% url 'quiz-results-filtered' %}"
class="small-form"
method="get">
<input name="ordering"
type="hidden"
value="-end">
<input class="btn btn-link"
type="submit"
value="Date: most recent">
</form>
URL:
path('tests/', include([
path('results/<slug:slug>/', views.QuizMarkingFilteredList.as_view(), name='quiz-results-filtered'),
...
Views.py (хотя это и не имеет значения, некоторые люди заставили без необходимости просить об этом):
class QuizMarkingFilteredList(PermissionRequiredMixin, LoginRequiredMixin, QuizMarkerMixin, ListView):
model = Sitting
template_name = 'quiz/sitting_filtered_list.html'
permission_required = ('quiz.view_sittings',)
permission_denied_message = 'User does not have permissions to view quiz sittings.'
def get_ordering(self, *args, **kwargs):
ordering = self.request.GET.get('ordering', 'end')
return ordering
def get_queryset(self):
queryset = super(QuizMarkingFilteredList, self).get_queryset()
queryset = queryset.filter(complete=True)
queryset = queryset.filter(user__supervisor__exact=self.request.user)
queryset = queryset.filter(quiz__url=self.kwargs['slug'])
ordering = self.get_ordering()
if ordering and isinstance(ordering, str):
ordering = (ordering,)
queryset = queryset.order_by(*ordering)
return queryset
This ошибка не возникает при удалении фильтра HTML Order_by
со страницы .
Я уверен, что это довольно просто, но я его не вижу. Мысли о том, почему?
Заранее спасибо! = D