Классы газа, предоставляемые каркасом REST Django, не позволяют вам этого делать.Вам нужно будет создать собственный класс Throttle и перезаписать allow_request()
, чтобы регистрировать события регулирования и предоставлять некоторые возможности для внесения в белый список.Например, что-то вроде этого:
class WhitelistScopedRateThrottle(throttling.ScopedRateThrottle):
def allow_request(self, request, view):
allowed = super().allow_request(request, view)
if not allowed:
if self.is_whitelisted(request, view)
return True
else:
self.log_throttling(request, view)
return False
else:
return True
def is_whitelisted(self, request, view):
...
def log_throttling(self, request, view):
...
Как лучше всего реализовать белый список и ведение журнала, зависит от ваших точных требований.