feat / AEB-63 create get objects route
This commit is contained in:
27
backend/api/account/serializers/objects_serializers.py
Normal file
27
backend/api/account/serializers/objects_serializers.py
Normal 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
|
||||
Reference in New Issue
Block a user