from rest_framework.throttling import SimpleRateThrottle class DeviceDetailRateThrottle(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 class DevicePhotoRateThrottle(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 + "photo_rate" return key class QxzDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_qxzlist_rate" return key class ScdDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_scdlist_rate" return key class CbdDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_cbdlist_rate" return key class BzyDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_bzylist_rate" return key class XycbDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_xycblist_rate" return key class XctDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_xctlist_rate" return key class GssqDeviceListRateThrottle(SimpleRateThrottle): scope = "devicelist" def get_cache_key(self, request, view): uid = request.user key = str(uid) + "_gssqlist_rate" return key