РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
197 of 307 menu

Тип conint

Тип conint применяется для создания целочисленных полей с ограничениями. Он позволяет задать минимальное значение параметром ge, максимальное значение параметром le, строгие границы параметрами gt и lt, а также кратность числа параметром multiple_of. Тип удобно использовать в моделях Pydantic и в параметрах маршрутов FastAPI.

Синтаксис

from pydantic import conint field: conint(ge=0, le=100)

Пример

Давайте создадим модель с полем возраста от 18 до 100 лет:

from fastapi import FastAPI from pydantic import BaseModel, conint app = FastAPI() class User(BaseModel): name: str age: conint(ge=18, le=100) @app.post('/user') def create_user(user: User): return user

Результат выполнения кода для корректных данных:

{"name": "abcde", "age": 25}

Пример

Давайте проверим, что произойдёт при отправке некорректного возраста:

from fastapi import FastAPI from pydantic import BaseModel, conint app = FastAPI() class User(BaseModel): name: str age: conint(ge=18, le=100) @app.post('/user') def create_user(user: User): return user

Результат выполнения кода при значении возраста 10:

{ "detail": [ { "type": "greater_than_equal", "loc": ["body", "age"], "msg": "Input should be greater than or equal to 18", "input": 10, "ctx": {"ge": 18} } ] }

Пример

Давайте используем conint прямо в параметре маршрута для ограничения количества товара:

from fastapi import FastAPI from pydantic import conint app = FastAPI() @app.get('/items/{count}') def get_items(count: conint(gt=0, le=1000)): return {'count': count}

Результат выполнения кода для адреса /items/5:

{"count": 5}

Смотрите также

  • тип constr,
    который создаёт строковое поле с ограничениями
  • тип confloat,
    который создаёт вещественное поле с ограничениями
  • функция Field,
    которая добавляет ограничения и метаданные к полю
  • класс BaseModel,
    который является базой для всех моделей Pydantic
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить