from django.db import models


class IrrigationMethod(models.Model):
    """
    روش‌های آبیاری شامل مشخصات فنی.
    """

    name = models.CharField(
        max_length=255,
        unique=True,
        db_index=True,
        help_text="نام روش آبیاری (قطره‌ای، بارانی، سطحی و …)",
    )
    category = models.CharField(
        max_length=255,
        blank=True,
        help_text="نوع روش (موضعی، تحت فشار، سطحی)",
    )
    description = models.TextField(
        blank=True,
        help_text="توضیحات کامل روش",
    )
    water_efficiency_percent = models.FloatField(
        null=True,
        blank=True,
        help_text="راندمان مصرف آب (%)",
    )
    water_pressure_required = models.CharField(
        max_length=255,
        blank=True,
        help_text="فشار مورد نیاز آب",
    )
    flow_rate = models.CharField(
        max_length=255,
        blank=True,
        help_text="دبی یا میزان جریان آب",
    )
    coverage_area = models.CharField(
        max_length=255,
        blank=True,
        help_text="مساحت قابل پوشش",
    )
    soil_type = models.CharField(
        max_length=255,
        blank=True,
        help_text="نوع خاک مناسب",
    )
    climate_suitability = models.CharField(
        max_length=255,
        blank=True,
        help_text="اقلیم مناسب",
    )
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

    class Meta:
        ordering = ["name"]
        verbose_name = "روش آبیاری"
        verbose_name_plural = "روش‌های آبیاری"

    def __str__(self):
        return self.name
