feat(backend): modèles SQLModel (10 tables)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
35
backend/app/models/plant.py
Normal file
35
backend/app/models/plant.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
|
||||
class PlantVariety(SQLModel, table=True):
|
||||
id: Optional[int] = Field(default=None, primary_key=True)
|
||||
nom_commun: str
|
||||
nom_botanique: Optional[str] = None
|
||||
variete: Optional[str] = None
|
||||
famille: Optional[str] = None
|
||||
tags: Optional[str] = None # CSV
|
||||
type_plante: Optional[str] = None # legume | fruit | aromatique | fleur
|
||||
besoin_eau: Optional[str] = None # faible | moyen | fort
|
||||
besoin_soleil: Optional[str] = None
|
||||
espacement_cm: Optional[int] = None
|
||||
temp_min_c: Optional[float] = None
|
||||
duree_culture_j: Optional[int] = None
|
||||
profondeur_semis_cm: Optional[float] = None
|
||||
sol_conseille: Optional[str] = None
|
||||
semis_interieur_mois: Optional[str] = None # ex: "2,3"
|
||||
semis_exterieur_mois: Optional[str] = None
|
||||
repiquage_mois: Optional[str] = None
|
||||
plantation_mois: Optional[str] = None
|
||||
recolte_mois: Optional[str] = None
|
||||
notes: Optional[str] = None
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
|
||||
class PlantImage(SQLModel, table=True):
|
||||
id: Optional[int] = Field(default=None, primary_key=True)
|
||||
variety_id: int = Field(foreign_key="plantvariety.id", index=True)
|
||||
filename: str
|
||||
caption: Optional[str] = None
|
||||
created_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
Reference in New Issue
Block a user