from rest_framework.throttling import SimpleRateThrottle class QxzDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_qxzlist_rate" return key class QxzDeviceDetailRateThrottle(SimpleRateThrottle): scope = "devicedetail" def get_cache_key(self, request, view): uid = request.user device_id = request.query_params.get("device_id","") key = str(uid) + device_id + "detail_rate" return key