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