Files
jardin/backend/app/models/recolte.py
2026-02-22 15:05:40 +01:00

43 lines
1.3 KiB
Python

from datetime import date, datetime, timezone
from typing import Optional
from sqlmodel import Field, SQLModel
class RecolteCreate(SQLModel):
quantite: float
unite: str = "kg" # kg|g|unites|litres|bottes
date_recolte: date
notes: Optional[str] = None
class Recolte(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
plantation_id: int = Field(foreign_key="planting.id", index=True)
quantite: float
unite: str = "kg"
date_recolte: date
notes: Optional[str] = None
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
class ObservationCreate(SQLModel):
type: str # maladie|ravageur|traitement|note
titre: str
description: Optional[str] = None
date: date
photo_url: Optional[str] = None
plantation_id: Optional[int] = None
garden_id: Optional[int] = None
class Observation(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
type: str
titre: str
description: Optional[str] = None
date: date
photo_url: Optional[str] = None
plantation_id: Optional[int] = Field(default=None, foreign_key="planting.id")
garden_id: Optional[int] = Field(default=None, foreign_key="garden.id")
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))