12 lines
434 B
Python
12 lines
434 B
Python
from rest_framework.throttling import SimpleRateThrottle
|
|
|
|
|
|
class UserRateThrottle(SimpleRateThrottle):
|
|
"""Throttle authenticated requests by user ID."""
|
|
|
|
scope = "user"
|
|
|
|
def get_cache_key(self, request, view):
|
|
if request.user and request.user.is_authenticated:
|
|
return self.cache_format % {"scope": self.scope, "ident": request.user.pk}
|
|
return None # AnonRateThrottle handles anonymous requests |