Ошибка NoReverseMatch при фильтрации из Django ListView ('is not a valid view function or pattern name')
Я пытаюсь отфильтровать объекты из Django ListView, чтобы отобразить их в шаблоне, но получаю ошибку 'NoReverseMatch at' ('Reverse for 'advanced' not found. 'advanced' не является допустимой функцией представления или именем шаблона'). Вот мои модель, представление, URL и href:
**Model**
class Course(models.Model):
location = models.ForeignKey(Location, blank=True, null=True, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
level = models.CharField(max_length=200)
date = models.CharField(max_length=200)
price = models.DecimalField(max_digits=6, decimal_places=2)
image = models.ImageField(null=True, blank=True)
def __str__(self):
return self.title
def get_absolute_url(self):
# establishes canonical url for the Course model
return reverse('course_detail', args=[str(self.id)])
**View**
class AdvancedListView(ListView):
model = Course
context_object_name = 'course_list'
template_name = 'courses/advanced.html'
def get_queryset(self):
return Course.objects.filter(
level__icontains='Advanced')
**URL**
from django.urls import path
from .views import CourseListView, CourseDetailView, SearchResultsListView, AdvancedListView
urlpatterns = [
path('', CourseListView.as_view(), name='course_list'),
path('<int:pk>/', CourseDetailView.as_view(), name='course_detail'),
path('search/', SearchResultsListView.as_view(), name='search_results'),
path('courses/', AdvancedListView.as_view(), name='advanced'),
]
**Link**
<a class="dropdown-item" href="{% url 'advanced' %}">Advanced</a>
Любой совет очень ценен!
Можете ли вы попробовать следующее?
Course.objects.all().filter(level='Advanced')