Pydantic не применяет значение по умолчаниюPython

Программы на Python
Гость
Pydantic не применяет значение по умолчанию

Сообщение Гость »

У меня есть следующая схема. Если я ввожу (включено или отключено) в «местоположение», тогда это работает, и проверка работает нормально. Если я добавлю случайную строку, она потерпит неудачу (так и должно работать). Проблема в том, что если «местоположение» — пустая строка. Это все еще терпит неудачу. Я хотел бы, чтобы он установил значение по умолчанию и прошел проверку. Я попытался добавить функцию валидатора ниже, но она даже не дошла до этой функции. Он автоматически получает
Input should be 'disabled' or 'enabled' [type=literal_error, input_value='', input_type=str]"

Я добавил значение по умолчанию, но оно по-прежнему не работает. Есть идеи, чего мне не хватает?
from pydantic import BaseModel, Field, validator
from typing_extensions import Annotated, Literal

ENABLED_DISABLED = Literal["disabled", "enabled"]

class GlobalSchema(BaseModel):
location: Annotated[ENABLED_DISABLED, Field(description="Location")] = "disabled"

# @validator('location')
# def validate_location(cls, value):
# if value not in ENABLED_DISABLED:
# raise ValueError(f'Invalid value for location. Must be one of: {", ".join(ENABLED_DISABLED)}')
# return value or "disabled"


Подробнее здесь: https://stackoverflow.com/questions/781 ... ault-value

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