2026-04-06 23:50:24 +03:30
|
|
|
from django.contrib import admin
|
|
|
|
|
|
2026-05-05 01:46:10 +03:30
|
|
|
from .models import FarmPlantAssignment, ParameterUpdateLog, PlantCatalogSnapshot, SensorData, SensorParameter
|
2026-04-06 23:50:24 +03:30
|
|
|
|
|
|
|
|
|
|
|
|
|
@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())
|
|
|
|
|
|
|
|
|
|
|
2026-05-05 01:46:10 +03:30
|
|
|
@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",)
|
|
|
|
|
|
|
|
|
|
|
2026-04-06 23:50:24 +03:30
|
|
|
@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")
|