Files
Ai/dashboard_data/context.py
T
2026-04-06 23:50:24 +03:30

37 lines
1.1 KiB
Python

from datetime import date
def load_dashboard_context(sensor_id: str) -> dict | None:
from irrigation.models import IrrigationMethod
from location_data.models import SoilDepthData
from farm_data.models import SensorData
from weather.models import WeatherForecast
try:
sensor = SensorData.objects.select_related("center_location").prefetch_related("plants").get(
farm_uuid=sensor_id
)
except SensorData.DoesNotExist:
return None
location = sensor.center_location
depths = list(
SoilDepthData.objects.filter(soil_location=location).order_by("depth_label")
)
forecasts = list(
WeatherForecast.objects.filter(location=location, forecast_date__gte=date.today())
.order_by("forecast_date")[:7]
)
plants = list(sensor.plants.all())
irrigation_methods = list(IrrigationMethod.objects.all()[:5])
return {
"sensor": sensor,
"location": location,
"depths": depths,
"forecasts": forecasts,
"history": [],
"plants": plants,
"irrigation_methods": irrigation_methods,
}