Files
Logic/Modules/Ai/weather/management/commands/seed_weather_parameters.py
T
2026-05-11 03:27:21 +03:30

43 lines
1.5 KiB
Python

"""
Management command to seed weather parameters.
Run: python manage.py seed_weather_parameters
"""
from django.core.management.base import BaseCommand
from weather.models import WeatherParameter
INITIAL_PARAMETERS = [
("temperature_min", "حداقل دمای هوا", "°C"),
("temperature_max", "حداکثر دمای هوا", "°C"),
("temperature_mean", "میانگین دمای هوا", "°C"),
("precipitation", "مجموع بارش", "mm"),
("precipitation_probability", "احتمال بارش", "%"),
("humidity_mean", "میانگین رطوبت نسبی", "%"),
("wind_speed_max", "حداکثر سرعت باد", "km/h"),
("et0", "تبخیر-تعرق مرجع (ET₀)", "mm/day"),
("weather_code", "کد وضعیت آب‌وهوا (WMO)", ""),
]
class Command(BaseCommand):
help = "Seed weather parameters (temperature, precipitation, ET0, etc.)"
def handle(self, *args, **options):
created_count = 0
for code, name_fa, unit in INITIAL_PARAMETERS:
_, created = WeatherParameter.objects.get_or_create(
code=code,
defaults={"name_fa": name_fa, "unit": unit},
)
if created:
created_count += 1
self.stdout.write(
self.style.SUCCESS(f" Created: {code} ({name_fa})")
)
self.stdout.write(
self.style.SUCCESS(
f"\nDone. Created {created_count} new weather parameters."
)
)