-
-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nested Settings with instances of models as defaults #345
Comments
Thanks @mrijken for reporting this. Actually, this is the correct behavior. you have |
Hi @mrijken, I've added a flag from pydantic import BaseModel
from pydantic_settings import BaseSettings
class DatabaseSettings(BaseModel):
name: str = 'test'
env: str = 'test'
class Settings(BaseSettings, nested_model_default_partial_update=True):
db1: DatabaseSettings = DatabaseSettings(name='database1')
db2: DatabaseSettings = DatabaseSettings(name='database2')
print(Settings(db1={'env': 'prd'}))
#> db1=DatabaseSettings(name='database1', env='prd') db2=DatabaseSettings(name='database2', env='test') |
When I have the next Models:
I will get:
However, I would expect:
I have written a small PydanticBaseSettingsSource fixes this behavior:
Is the issue the expected behavior? Is the proposed solution the correct one? Shall I make a PR?
The text was updated successfully, but these errors were encountered: