-
-
Notifications
You must be signed in to change notification settings - Fork 104
Open
Labels
Description
Nested alias paths for environment variables are not handled:
from pydantic import AliasPath, BaseModel, Field
from pydantic_settings import BaseSettings, SettingsConfigDict
import os
class Nested(BaseModel):
alias_path: str = Field(validation_alias=AliasPath('path', 0))
alias: str = Field(validation_alias='no_path')
class Cfg(BaseSettings, env_nested_delimiter='__'):
nest: Nested
os.environ['NEST__PATH'] = '["hello"]'
os.environ['NEST__NO_PATH'] = 'hello'
print(Cfg().model_dump())
"""
pydantic_core._pydantic_core.ValidationError: 1 validation error for Cfg
nest.path.0
Field required [type=missing, input_value={'no_path': 'hello', 'path': '["hello"]'}, input_type=dict]
For further information visit https://errors.pydantic.dev/2.11/v/missing
"""