НачатьНачать бесплатно

Пользовательский валидатор модели

У вас есть API для обновления данных об инвентаре. Вас попросили выводить понятное сообщение об ошибке, если пользователь вводит отрицательное количество.

Исключение RequestValidationError уже загружено в среду.

Это упражнение является частью курса

Развёртывание ИИ в производственной среде с помощью FastAPI

Посмотреть курс

Инструкции к упражнению

  • Импортируйте аннотацию для пользовательской валидации модели.
  • Реализуйте пользовательскую валидацию модели, которая выполняется "after" стандартных проверок.
  • Вызовите исключение RequestValidationError, чтобы передать ошибку валидации пользователю API.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import annotation for custom validation
from pydantic import BaseModel, ____

class InventoryRecord(BaseModel):
    name: str
    quantity: int

    # Create custom validator that runs after default validation
    @model_validator(mode="____")
    def validate_after(self):
        if len(self.quantity) < 0:
            # Raise request validation error
            raise ____(
                "Negative quantity is not allowed!"
            )
        return self
Редактировать и запускать код