cameraserializers.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. photo_num = serializers.SerializerMethodField()
  12. camera_playback = serializers.SerializerMethodField()
  13. def get_photo_num(self, obj):
  14. return 1 if MongoCameraPhoto.objects.filter(device_id=obj.device_id) else 0
  15. def get_camera_playback(self, obj):
  16. camera_data = ""
  17. try:
  18. camera_data = MongoCameraData.objects.get(device_id=obj.device_id)
  19. return camera_data.camera_playback
  20. except Exception as e:
  21. return 0
  22. def get_status(self, obj):
  23. return obj.device_status
  24. def get_sim(self, obj):
  25. return obj.simid
  26. class Meta:
  27. model = MongoDevice
  28. fields = [
  29. "device_name",
  30. "device_id",
  31. "status",
  32. "camera_playback",
  33. "sim",
  34. "photo_num"
  35. ]