39 lines
2.2 KiB
Python
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)
|