cameraserializers.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. from rest_framework import serializers
  2. from smartfarming.models.camera import MongoCameraPhoto, MongoCameraData, MongoCameraAccount
  3. from smartfarming.models.device import MongoDevice
  4. class MongoCameraPhotoSerializers(serializers.ModelSerializer):
  5. class Meta:
  6. model = MongoCameraPhoto
  7. fields = "__all__"
  8. class MongoDeviceCameraSerializers(serializers.ModelSerializer):
  9. status = serializers.SerializerMethodField()
  10. sim = serializers.SerializerMethodField()
  11. d_id = serializers.SerializerMethodField()
  12. photo_num = serializers.SerializerMethodField()
  13. camera_playback = serializers.SerializerMethodField()
  14. def get_photo_num(self, obj):
  15. return 1 if MongoCameraPhoto.objects.filter(device_id=obj.device_id) else 0
  16. def get_camera_playback(self, obj):
  17. camera_data = ""
  18. try:
  19. camera_data = MongoCameraData.objects.get(device_id=obj.device_id)
  20. return camera_data.camera_playback
  21. except Exception as e:
  22. return 0
  23. def get_status(self, obj):
  24. return obj.device_status
  25. def get_sim(self, obj):
  26. return obj.simid
  27. def get_d_id(self, obj):
  28. return obj.id
  29. class Meta:
  30. model = MongoDevice
  31. fields = [
  32. "device_name",
  33. "device_id",
  34. "status",
  35. "camera_playback",
  36. "sim",
  37. "photo_num",
  38. "d_id",
  39. "jk_live_img"
  40. ]