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

Тип constr

Тип constr применяется для аннотирования строковых полей в моделях Pydantic. Он позволяет задать минимальную и максимальную длину строки, а также регулярное выражение, которому строка должна соответствовать. Параметр min_length задаёт минимальную длину, параметр max_length - максимальную длину, параметр pattern - регулярное выражение для проверки.

Синтаксис

from pydantic import constr constr(min_length=None, max_length=None, pattern=None, strict=None)

Пример

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

from fastapi import FastAPI from pydantic import BaseModel, constr app = FastAPI() class User(BaseModel): name: constr(min_length=3, max_length=10) @app.post('/user/') def create_user(user: User): return {'name': user.name}

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

{"name": "abcde"}

Пример

Давайте зададим шаблон для поля, чтобы строка содержала только буквы:

<+python+> from fastapi import FastAPI from pydantic import BaseModel, constr app = FastAPI() class Article(BaseModel): title: constr(pattern=r'^[a-zA-Z]+$') @app.post('/article/') def create_article(article: Article): return {'title': article.title} <-python+>

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

{"title": "article"}

Пример

Давайте объединим ограничение длины и шаблон в одном поле:

<+python+> from fastapi import FastAPI from pydantic import BaseModel, constr app = FastAPI() class User(BaseModel): username: constr(min_length=3, max_length=20, pattern=r'^[a-z0-9_]+$') @app.post('/user/') def create_user(user: User): return {'username': user.username} <-python+>

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

{"username": "user_1"}

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

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