ModelViewSet не перезаписывает КЛАССЫ DEFAULT_PERMISSION_CLASSES по УМОЛЧАНИЮ'

Здравствуйте, я работаю над тем, чтобы все URL-адреса требовали аутентификации пользователя, но некоторые URL-адреса я хочу, чтобы они были общедоступными, поэтому я использую permission_classes = [AllowAny] и authentication_classes = ([]) для перезаписи конфигураций по умолчанию, это работает в APIVIEW, но не в viewsets.ModelViewSet почему?

settings.py

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
    'DEFAULT_FILTER_BACKENDS': [
        'django_filters.rest_framework.DjangoFilterBackend',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    ],
    'DATETIME_FORMAT': "%Y-%m-%d %H:%M:%S",
}

views.py

class ToolsListViewSet(viewsets.ModelViewSet):
    serializer_class = ToolsListSerializer
    permission_classes = [AllowAny]
    authentication_classes = ([])
    pagination_class = None
    def get_queryset(self):
        return Tools.objects.filter(is_active=True)
    enter code here

ошибка

{
    "detail": "Authentication credentials were not provided."
}

Я проверил ваш код, но не могу найти никаких проблем.

Вот наследование классов в Django.

ModelViewSet <- GenericViewSet <- GenericAPIView <- APIView

Таким образом, если это работает с APIView, то должно работать и с ModelViewSet.

Можете ли вы попытаться принудительно ввести разрешение, переопределив get_permissions в вашем наборе представлений (возможно, вы также можете указать AllowAny для определенных действий)?

    def get_permissions(self):
        return [AllowAny()]
Вернуться на верх