From f84f2b68ea04aa032555036b8a5aaa8cbb95db0b Mon Sep 17 00:00:00 2001 From: vsakkas Date: Sun, 7 Jul 2024 00:08:36 +0200 Subject: [PATCH] Fix typing issues --- django_base_settings/django_base_settings.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/django_base_settings/django_base_settings.py b/django_base_settings/django_base_settings.py index af6d477..097a6cd 100644 --- a/django_base_settings/django_base_settings.py +++ b/django_base_settings/django_base_settings.py @@ -3,6 +3,7 @@ from pydantic import BaseModel as _BaseModel from pydantic import ConfigDict from pydantic_settings import BaseSettings as _BaseSettings +from pydantic_settings import SettingsConfigDict class BaseModel(_BaseModel): @@ -10,7 +11,9 @@ class BaseModel(_BaseModel): class BaseSettings(_BaseSettings): - model_config = ConfigDict(alias_generator=lambda field_name: field_name.upper()) + model_config = SettingsConfigDict( + alias_generator=lambda field_name: field_name.upper() + ) class DjangoBaseSettings(BaseSettings): @@ -53,7 +56,9 @@ def __init__(self) -> None: def _inject_settings(self, module, settings: BaseSettings) -> None: for field_name, field_value in settings.model_dump(by_alias=True).items(): # For nested models, inject a dictionary representation - if isinstance(field_value, (BaseSettings, BaseModel)): + if isinstance( + field_value, (BaseSettings, BaseModel, _BaseSettings, _BaseModel) + ): setattr( module, field_name,