Pydantic: env_nested_delimiter для вложенного спискаPython

Программы на Python
Anonymous
Pydantic: env_nested_delimiter для вложенного списка

Сообщение Anonymous »

Pydantic представлен в версии 1.9-ish env_nested_delimiter, механизм удобного анализа переменных окружения.
Я установите этот модуль в настройках:

Код: Выделить всё

from pydantic import BaseModel, BaseSettings

class SubModel(BaseModel):
v1: str
v2: bytes
v3: int

class Settings(BaseSettings):
v0: str
sub_models: [SubModel]

class Config:
env_nested_delimiter = '__'

print(Settings().dict())
Есть ли способ определить элементы моих sub_models (список экземпляров SubModel) в файле .env с разделителями? Я уже пробовал:

Код: Выделить всё

SUB_MODELS__0__SUB_MODEL__V2=00
SUB_MODELS__0__SUB_MODEL__V3=01
SUB_MODELS__0__SUB_MODEL__DEEP__V4=01

SUB_MODELS__1__SUB_MODEL__V2=nested-10
SUB_MODELS__1__SUB_MODEL__V3=11
SUB_MODELS__1__SUB_MODEL__DEEP__V4=12
но это не сработало. Я не уверен, возможно ли это в текущей версии pydantic. Возможно, разделители просто ограничены структурами данных, подобными.

Подробнее здесь: https://stackoverflow.com/questions/706 ... ested-list

Вернуться в «Python»