Дросселирование Django Rest Framework для каждой группы пользователей

Это кажется таким простым, но невозможно реализовать. Мне нужен дроссель для каждого уровня подписки на API в моем приложении. Я создал файл throttling.py, и он содержит классы дросселей.

views.py

from jet.throttling import BasicRateThrottle, PlatinumRateThrottle

class JetPullViewSet(viewsets.ViewSet):
     throttle_classes = [BasicRateThrottle, PlatinumRateThrottle]
     permission_classes = [IsAuthenticated]

     def list(self, request):
         user = self.request.user
         queryset = Data.objects.all() 

         serializer = DataSerializer(queryset, many=True, fields=data_var_fields)

         return Response(serializer.data)

throttling.py

from rest_framework.throttling import UserRateThrottle

class PlatinumRateThrottle(UserRateThrottle):
    scope = 'platinum'

class BasicRateThrottle(UserRateThrottle):
    scope = 'basic'

settings.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    ],

    'DEFAULT_THROTTLE_CLASSES': [
        'rest_framework.throttling.UserRateThrottle',
        'jet.throttling.PlatinumRateThrottle',
        'jet.throttling.BasicRateThrottle',
    ],
    'DEFAULT_THROTTLE_RATES': {
        'basic': '5/day',
        'platinum': '200/day',
    }
}

И ошибка, которую я получаю, следующая: "ImproperlyConfigured at /jet/gribpull/ Не установлена скорость дросселирования по умолчанию для диапазона 'basic'"

Хотя мне кажется, что это довольно четко определено. Я пробую различные комбинации уже несколько дней и ссылаюсь на Django Throttling Docs и бесчисленные сообщения SO. Скорость дросселирования по умолчанию отказывается устанавливаться.

Ваша помощь будет высоко оценена.

Вернуться на верх