feat: Add field validator to convert empty strings to None for specific numeric fields.

main
MrWaradana 5 days ago
parent 25288d18f5
commit e3963ff5f2

@ -2,7 +2,7 @@ from datetime import datetime
from typing import List, Optional from typing import List, Optional
from uuid import UUID from uuid import UUID
from pydantic import Field from pydantic import Field, field_validator
from src.models import DefaultBase, Pagination from src.models import DefaultBase, Pagination
@ -27,6 +27,25 @@ class YeardataBase(DefaultBase):
created_by: Optional[str] = Field(None, nullable=True) created_by: Optional[str] = Field(None, nullable=True)
updated_by: Optional[str] = Field(None, nullable=True) updated_by: Optional[str] = Field(None, nullable=True)
@field_validator(
"asset_crit_ens_energy_not_served",
"asset_crit_bpp_system",
"asset_crit_bpp_pembangkit",
"asset_crit_dmn_daya_mampu_netto",
"asset_crit_marginal_cost",
"asset_crit_efdh_equivalent_forced_derated_hours",
"asset_crit_foh_forced_outage_hours",
"asset_crit_extra_fuel_cost",
"cf",
"eaf",
mode="before",
)
@classmethod
def empty_string_to_none(cls, v):
if v == "":
return None
return v
class YeardataCreate(YeardataBase): class YeardataCreate(YeardataBase):
pass pass

Loading…
Cancel
Save