MyRateThrottle.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. from rest_framework.throttling import SimpleRateThrottle
  2. class DeviceDetailRateThrottle(SimpleRateThrottle):
  3. scope = "devicedetail"
  4. def get_cache_key(self, request, view):
  5. uid = request.user
  6. device_id = request.query_params.get("device_id","")
  7. key = str(uid) + device_id + "detail_rate"
  8. return key
  9. class DevicePhotoRateThrottle(SimpleRateThrottle):
  10. scope = "devicedetail"
  11. def get_cache_key(self, request, view):
  12. uid = request.user
  13. device_id = request.query_params.get("device_id","")
  14. key = str(uid) + device_id + "photo_rate"
  15. return key
  16. class QxzDeviceListRateThrottle(SimpleRateThrottle):
  17. scope = "devicelist"
  18. def get_cache_key(self, request, view):
  19. uid = request.user
  20. key = str(uid) + "_qxzlist_rate"
  21. return key
  22. class ScdDeviceListRateThrottle(SimpleRateThrottle):
  23. scope = "devicelist"
  24. def get_cache_key(self, request, view):
  25. uid = request.user
  26. key = str(uid) + "_scdlist_rate"
  27. return key
  28. class CbdDeviceListRateThrottle(SimpleRateThrottle):
  29. scope = "devicelist"
  30. def get_cache_key(self, request, view):
  31. uid = request.user
  32. key = str(uid) + "_cbdlist_rate"
  33. return key
  34. class BzyDeviceListRateThrottle(SimpleRateThrottle):
  35. scope = "devicelist"
  36. def get_cache_key(self, request, view):
  37. uid = request.user
  38. key = str(uid) + "_bzylist_rate"
  39. return key
  40. class XycbDeviceListRateThrottle(SimpleRateThrottle):
  41. scope = "devicelist"
  42. def get_cache_key(self, request, view):
  43. uid = request.user
  44. key = str(uid) + "_xycblist_rate"
  45. return key
  46. class XctDeviceListRateThrottle(SimpleRateThrottle):
  47. scope = "devicelist"
  48. def get_cache_key(self, request, view):
  49. uid = request.user
  50. key = str(uid) + "_xctlist_rate"
  51. return key
  52. class GssqDeviceListRateThrottle(SimpleRateThrottle):
  53. scope = "devicelist"
  54. def get_cache_key(self, request, view):
  55. uid = request.user
  56. key = str(uid) + "_gssqlist_rate"
  57. return key