from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file=".env", extra="allow")
POSTGRES_USER: str
print(Settings())
.env
POSTGRES_USER=postgres
POSTGRES_USER_2=postgres2 # can't allow or forbid
POSTGRES_NAME=name # can allow or forbid
output miss POSTGRES_USER_2
POSTGRES_USER='postgres' postgres_name='name'
Replace allow
with forbid
.
pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings
postgres_name
Extra inputs are not permitted [type=extra_forbidden, input_value='name', input_type=str]
For further information visit https://errors.pydantic.dev/2.9/v/extra_forbidden
Missing extra input for POSTGRES_USER_2
raise.
pydantic==2.9.1
pydantic-settings==2.4.0