Files
Backend/irrigation_recommendation/serializers.py
T
2026-04-27 00:40:59 +03:30

39 lines
2.2 KiB
Python

from rest_framework import serializers
class IrrigationFarmDataSerializer(serializers.Serializer):
soilType = serializers.CharField(required=False, allow_blank=True)
waterQuality = serializers.CharField(required=False, allow_blank=True)
climateZone = serializers.CharField(required=False, allow_blank=True)
class IrrigationRecommendRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="UUID مزرعه برای دریافت توصیه آبیاری.")
plant_name = serializers.CharField(required=False, allow_blank=True, help_text="نام محصول یا گیاه.")
growth_stage = serializers.CharField(required=False, allow_blank=True, help_text="مرحله رشد گیاه.")
irrigation_method_name = serializers.CharField(required=False, allow_blank=True, help_text="نام روش آبیاری انتخابی.")
class WaterStressRequestSerializer(serializers.Serializer):
farm_uuid = serializers.UUIDField(required=True, help_text="UUID مزرعه برای محاسبه تنش آبی.")
sensor_uuid = serializers.UUIDField(required=False, help_text="UUID سنسور برای فیلتر اختیاری.")
class IrrigationMethodSerializer(serializers.Serializer):
id = serializers.IntegerField(required=False)
name = serializers.CharField(required=False, allow_blank=True)
category = serializers.CharField(required=False, allow_blank=True)
description = serializers.CharField(required=False, allow_blank=True)
water_efficiency_percent = serializers.FloatField(required=False)
water_pressure_required = serializers.CharField(required=False, allow_blank=True)
flow_rate = serializers.CharField(required=False, allow_blank=True)
coverage_area = serializers.CharField(required=False, allow_blank=True)
soil_type = serializers.CharField(required=False, allow_blank=True)
climate_suitability = serializers.CharField(required=False, allow_blank=True)
created_at = serializers.DateTimeField(required=False)
updated_at = serializers.DateTimeField(required=False)
class IrrigationRecommendResponseDataSerializer(serializers.Serializer):
sections = serializers.ListField(child=serializers.DictField(), read_only=True)