""" Management command to seed initial irrigation methods. Run: python manage.py seed_irrigation_methods """ from django.core.management.base import BaseCommand from irrigation.models import IrrigationMethod INITIAL_METHODS = [ { "name": "آبیاری قطره‌ای", "category": "موضعی", "description": "آب با دبی کم و به‌صورت قطره‌ای مستقیماً به ریشه گیاه رسانده می‌شود. مناسب‌ترین روش برای مناطق خشک و کم‌آب.", "water_efficiency_percent": 90.0, "water_pressure_required": "۱-۲ اتمسفر", "flow_rate": "۲-۸ لیتر در ساعت", "coverage_area": "بسته به طراحی سیستم", "soil_type": "تمام انواع خاک", "climate_suitability": "گرم و خشک", }, { "name": "آبیاری بارانی", "category": "تحت فشار", "description": "آب تحت فشار از طریق آبپاش‌ها به‌صورت قطرات ریز مانند باران پخش می‌شود.", "water_efficiency_percent": 75.0, "water_pressure_required": "۲-۴ اتمسفر", "flow_rate": "۵-۲۰ لیتر در دقیقه", "coverage_area": "۱۰-۳۰ متر شعاع پاشش", "soil_type": "لومی، لومی شنی", "climate_suitability": "معتدل، مرطوب", }, { "name": "آبیاری سطحی (غرقابی)", "category": "سطحی", "description": "آب در سطح زمین جاری شده و به‌صورت ثقلی زمین را آبیاری می‌کند. ساده‌ترین و قدیمی‌ترین روش.", "water_efficiency_percent": 50.0, "water_pressure_required": "نیاز به فشار ندارد (ثقلی)", "flow_rate": "متغیر بر اساس شیب زمین", "coverage_area": "وابسته به اندازه کرت", "soil_type": "رسی، لومی رسی", "climate_suitability": "تمام اقلیم‌ها (مناطق پرآب)", }, { "name": "آبیاری نشتی (تیپ)", "category": "موضعی", "description": "آب از طریق نوارهای تیپ با منافذ ریز به‌صورت نشتی به خاک رسانده می‌شود.", "water_efficiency_percent": 85.0, "water_pressure_required": "۰.۵-۱.۵ اتمسفر", "flow_rate": "۱-۴ لیتر در ساعت به ازای هر متر", "coverage_area": "ردیفی، مناسب زراعت", "soil_type": "لومی، لومی شنی", "climate_suitability": "گرم و خشک", }, { "name": "آبیاری زیرسطحی", "category": "موضعی", "description": "لوله‌های آبیاری در زیر سطح خاک کار گذاشته شده و آب مستقیماً به منطقه ریشه می‌رسد.", "water_efficiency_percent": 95.0, "water_pressure_required": "۱-۲ اتمسفر", "flow_rate": "۱-۴ لیتر در ساعت", "coverage_area": "بسته به طراحی", "soil_type": "لومی، لومی رسی", "climate_suitability": "تمام اقلیم‌ها", }, { "name": "آبیاری بابلر", "category": "موضعی", "description": "آب با دبی بیشتر از قطره‌ای ولی کمتر از بارانی، به‌صورت حبابی در پای درخت پخش می‌شود. مناسب درختان میوه.", "water_efficiency_percent": 80.0, "water_pressure_required": "۱-۲ اتمسفر", "flow_rate": "۸-۶۰ لیتر در ساعت", "coverage_area": "شعاع ۱-۲ متر اطراف درخت", "soil_type": "لومی، لومی رسی", "climate_suitability": "گرم و خشک", }, ] class Command(BaseCommand): help = "Seed initial irrigation methods (6 common methods)" def handle(self, *args, **options): created_count = 0 for method_data in INITIAL_METHODS: _, created = IrrigationMethod.objects.get_or_create( name=method_data["name"], defaults=method_data, ) if created: created_count += 1 self.stdout.write( self.style.SUCCESS(f" Created: {method_data['name']}") ) self.stdout.write( self.style.SUCCESS( f"\nDone. Created {created_count} new irrigation methods." ) )