9ec0807d3c
- Included sensor_data in the INSTALLED_APPS of settings.py. - Added URL path for sensor_data in urls.py to enable API access.
45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
from rest_framework import serializers
|
|
|
|
from .models import SensorData, SensorParameter
|
|
|
|
|
|
class SensorDataUpdateSerializer(serializers.Serializer):
|
|
"""سریالایزر ورودی برای آپدیت داده سنسور."""
|
|
|
|
location_id = serializers.IntegerField(required=True)
|
|
soil_moisture = serializers.FloatField(required=False, allow_null=True)
|
|
soil_temperature = serializers.FloatField(required=False, allow_null=True)
|
|
soil_ph = serializers.FloatField(required=False, allow_null=True)
|
|
electrical_conductivity = serializers.FloatField(required=False, allow_null=True)
|
|
nitrogen = serializers.FloatField(required=False, allow_null=True)
|
|
phosphorus = serializers.FloatField(required=False, allow_null=True)
|
|
potassium = serializers.FloatField(required=False, allow_null=True)
|
|
|
|
|
|
class SensorDataResponseSerializer(serializers.ModelSerializer):
|
|
"""سریالایزر خروجی برای SensorData."""
|
|
|
|
class Meta:
|
|
model = SensorData
|
|
fields = [
|
|
"uuid_sensor",
|
|
"location_id",
|
|
"soil_moisture",
|
|
"soil_temperature",
|
|
"soil_ph",
|
|
"electrical_conductivity",
|
|
"nitrogen",
|
|
"phosphorus",
|
|
"potassium",
|
|
"created_at",
|
|
"updated_at",
|
|
]
|
|
|
|
|
|
class SensorParameterSerializer(serializers.Serializer):
|
|
"""سریالایزر ورودی برای اضافه کردن پارامتر جدید."""
|
|
|
|
code = serializers.CharField(max_length=64)
|
|
name_fa = serializers.CharField(max_length=128)
|
|
unit = serializers.CharField(max_length=32, required=False, allow_blank=True)
|