Почему один url, не требующий auth, запрашивает токен при размещении под url, требующим auth

Я заметил странную ошибку (возможно) во время тестирования моего apis. У меня есть три представления, обрабатывающие api запросы. Два не требуют auth (searchListing, listListing) и одно требует auth (retrieveListing). Странно, но если я держу 'search' ниже 'str:slug'' url (urlpatern_1), он говорит Authentication credentials were not provided. Однако если переместить search выше 'str:slug'', то все работает отлично.

urlpatterns_1 = [
    
    path('', views.listListing , name= 'listListing'),
    path('<str:slug>', views.retrieveListing , name= 'retrieveList'),
    path('search', views.searchListing , name= 'searchList'),

]
urlpatterns_2 = [
    
    path('', views.listListing , name= 'listListing'),
    path('search', views.searchListing , name= 'searchList'),
    path('<str:slug>', views.retrieveListing , name= 'retrieveList'),

]

Но, как ни странно, снова 'listListing' не зависит от позиции.

Пожалуйста, объясните мне, почему это происходит

views.py

@api_view(['GET'])
def listListing(request):
    pass

@api_view(['GET'])
@permission_classes([IsAuthenticated])
def retrieveListing(request, slug):
     pass

@api_view(['GET'])
def searchListing(request):
    pass
Вернуться на верх