Files
aerbim-ht-monitor/backend/api/account/serializers/objects_serializers.py
2025-10-06 15:19:10 +03:00

27 lines
967 B
Python

from rest_framework import serializers
from django.conf import settings
from sitemanagement.models import Object, Zone, Sensor
class SensorBasicSerializer(serializers.ModelSerializer):
class Meta:
model = Sensor
fields = ('id', 'name', 'serial_number', 'sensor_type')
class ZoneSerializer(serializers.ModelSerializer):
sensors = SensorBasicSerializer(many=True, read_only=True)
class Meta:
model = Zone
fields = ('id', 'name', 'sensors')
class ObjectSerializer(serializers.ModelSerializer):
zones = ZoneSerializer(many=True, read_only=True)
image = serializers.SerializerMethodField()
class Meta:
model = Object
fields = ('id', 'title', 'description', 'image', 'address', 'floors', 'area', 'zones')
def get_image(self, obj):
"""Возвращает URL изображения объекта"""
return f"{settings.BASE_URL}{obj.image.url}" if obj.image else None