from rest_framework import serializers from smartfarming.models.camera import MongoCameraPhoto, MongoCameraData, MongoCameraAccount from smartfarming.models.device import MongoDevice class MongoCameraPhotoSerializers(serializers.ModelSerializer): class Meta: model = MongoCameraPhoto fields = "__all__" class MongoDeviceCameraSerializers(serializers.ModelSerializer): status = serializers.SerializerMethodField() sim = serializers.SerializerMethodField() photo_num = serializers.SerializerMethodField() camera_playback = serializers.SerializerMethodField() def get_photo_num(self, obj): return 1 if MongoCameraPhoto.objects.filter(device_id=obj.device_id) else 0 def get_camera_playback(self, obj): return MongoCameraData.objects.get(device_id=obj.device_id).camera_playback def get_status(self, obj): return obj.device_status def get_sim(self, obj): return obj.simid class Meta: model = MongoDevice fields = [ "device_name", "device_id", "status", "camera_playback", "sim", "photo_num" ]