Files
Logic/Modules/Ai/plant/management/commands/seed_plants.py
T

110 lines
4.4 KiB
Python
Raw Normal View History

2026-05-11 03:27:21 +03:30
"""
Management command to seed initial plant data.
Run: python manage.py seed_plants
"""
from django.core.management.base import BaseCommand
from plant.models import Plant
INITIAL_PLANTS = [
{
"name": "گوجه‌فرنگی",
"light": "آفتاب کامل (۶-۸ ساعت)",
"watering": "منظم، هفته‌ای ۲-۳ بار",
"soil": "لومی، غنی از مواد آلی، pH بین ۶-۶.۸",
"temperature": "۲۰-۳۰ درجه سانتی‌گراد",
"planting_season": "بهار",
"harvest_time": "۷۰-۹۰ روز پس از کاشت",
"spacing": "۴۵-۶۰ سانتی‌متر",
"fertilizer": "کود NPK متعادل، کمپوست",
},
{
"name": "خیار",
"light": "آفتاب کامل",
"watering": "روزانه در فصل گرم",
"soil": "لومی شنی، غنی از هوموس",
"temperature": "۱۸-۳۰ درجه سانتی‌گراد",
"planting_season": "بهار تا اوایل تابستان",
"harvest_time": "۵۰-۷۰ روز پس از کاشت",
"spacing": "۳۰-۴۵ سانتی‌متر",
"fertilizer": "کود ازته، کمپوست",
},
{
"name": "فلفل دلمه‌ای",
"light": "آفتاب کامل (۶-۸ ساعت)",
"watering": "منظم، هفته‌ای ۲-۳ بار",
"soil": "لومی، زهکشی مناسب",
"temperature": "۲۰-۳۰ درجه سانتی‌گراد",
"planting_season": "بهار",
"harvest_time": "۶۰-۹۰ روز پس از کاشت",
"spacing": "۴۰-۵۰ سانتی‌متر",
"fertilizer": "کود فسفره و پتاسه",
},
{
"name": "هویج",
"light": "آفتاب کامل تا نیمه‌سایه",
"watering": "منظم، خاک مرطوب",
"soil": "شنی لومی، عمیق، بدون سنگ",
"temperature": "۱۵-۲۵ درجه سانتی‌گراد",
"planting_season": "اوایل بهار یا پاییز",
"harvest_time": "۷۰-۸۰ روز پس از کاشت",
"spacing": "۵-۸ سانتی‌متر",
"fertilizer": "کود پتاسه، کمپوست پوسیده",
},
{
"name": "کاهو",
"light": "نیمه‌سایه تا آفتاب کامل",
"watering": "منظم، خاک مرطوب",
"soil": "لومی، غنی از مواد آلی",
"temperature": "۱۰-۲۰ درجه سانتی‌گراد",
"planting_season": "بهار و پاییز",
"harvest_time": "۴۵-۶۰ روز پس از کاشت",
"spacing": "۲۰-۳۰ سانتی‌متر",
"fertilizer": "کود ازته، کمپوست",
},
{
"name": "سیب‌زمینی",
"light": "آفتاب کامل",
"watering": "منظم، هفته‌ای ۲ بار",
"soil": "لومی شنی، اسیدی ملایم، pH بین ۵-۶",
"temperature": "۱۵-۲۲ درجه سانتی‌گراد",
"planting_season": "اواخر زمستان تا اوایل بهار",
"harvest_time": "۹۰-۱۲۰ روز پس از کاشت",
"spacing": "۳۰-۴۰ سانتی‌متر",
"fertilizer": "کود NPK، کمپوست",
},
{
"name": "پیاز",
"light": "آفتاب کامل",
"watering": "منظم، خاک مرطوب ولی نه غرقابی",
"soil": "لومی، زهکشی خوب",
"temperature": "۱۲-۲۴ درجه سانتی‌گراد",
"planting_season": "پاییز یا اوایل بهار",
"harvest_time": "۹۰-۱۵۰ روز پس از کاشت",
"spacing": "۱۰-۱۵ سانتی‌متر",
"fertilizer": "کود فسفره، سولفات پتاسیم",
},
]
class Command(BaseCommand):
help = "Seed initial plant data (7 common vegetables)"
def handle(self, *args, **options):
created_count = 0
for plant_data in INITIAL_PLANTS:
_, created = Plant.objects.get_or_create(
name=plant_data["name"],
defaults=plant_data,
)
if created:
created_count += 1
self.stdout.write(
self.style.SUCCESS(f" Created: {plant_data['name']}")
)
self.stdout.write(
self.style.SUCCESS(f"\nDone. Created {created_count} new plants.")
)