feat / AEB-63 create get objects route

This commit is contained in:
Timofey
2025-10-06 15:19:10 +03:00
parent 5a0bb27c95
commit 0aa1c79690
6 changed files with 73 additions and 6 deletions

View File

@@ -0,0 +1,27 @@
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