From 6130eb993f0c580db69fd78b18a8aece7abece8c Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Tue, 3 Mar 2026 14:05:21 -0600 Subject: [PATCH] fix: use Field(default_factory) for offense_col random default (#24) Pydantic evaluates bare `random.randint(1, 3)` once at class definition time, so every PlayerModel instance shared the same value. Replaced with `pydantic.Field(default_factory=...)` so a new random value is generated per instance. Co-Authored-By: Claude Sonnet 4.6 --- app/routers_v2/mlbplayers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/routers_v2/mlbplayers.py b/app/routers_v2/mlbplayers.py index b6b59ed..dd42c73 100644 --- a/app/routers_v2/mlbplayers.py +++ b/app/routers_v2/mlbplayers.py @@ -37,7 +37,7 @@ class PlayerModel(pydantic.BaseModel): key_fangraphs: int = None key_bbref: str = None key_retro: str = None - offense_col: int = random.randint(1, 3) + offense_col: int = pydantic.Field(default_factory=lambda: random.randint(1, 3)) class PlayerList(pydantic.BaseModel):