Files
Ai/farm_data/admin.py
T
2026-05-05 01:46:10 +03:30

49 lines
1.6 KiB
Python

from django.contrib import admin
from .models import FarmPlantAssignment, ParameterUpdateLog, PlantCatalogSnapshot, SensorData, SensorParameter
@admin.register(SensorData)
class SensorDataAdmin(admin.ModelAdmin):
list_display = (
"farm_uuid",
"center_location_id",
"weather_forecast_id",
"sensor_keys",
"updated_at",
)
list_filter = ("updated_at",)
search_fields = ("farm_uuid", "center_location_id")
@admin.display(description="sensor keys")
def sensor_keys(self, obj):
payload = obj.sensor_payload if isinstance(obj.sensor_payload, dict) else {}
return ", ".join(payload.keys())
@admin.register(PlantCatalogSnapshot)
class PlantCatalogSnapshotAdmin(admin.ModelAdmin):
list_display = ("backend_plant_id", "name", "is_active", "source_updated_at", "updated_at")
search_fields = ("backend_plant_id", "name", "slug")
list_filter = ("is_active",)
@admin.register(FarmPlantAssignment)
class FarmPlantAssignmentAdmin(admin.ModelAdmin):
list_display = ("farm", "plant", "position", "stage", "updated_at")
search_fields = ("farm__farm_uuid", "plant__name")
list_filter = ("stage",)
@admin.register(SensorParameter)
class SensorParameterAdmin(admin.ModelAdmin):
list_display = ("sensor_key", "code", "name_fa", "unit", "data_type", "created_at")
search_fields = ("sensor_key", "code", "name_fa")
list_filter = ("sensor_key", "data_type")
@admin.register(ParameterUpdateLog)
class ParameterUpdateLogAdmin(admin.ModelAdmin):
list_display = ("parameter", "action", "updated_at")
list_filter = ("action", "updated_at")