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

Параметр exclude

Параметр exclude применяется в методах сериализации моделей Pydantic и в функции jsonable_encoder. Он принимает множество имён полей, которые нужно исключить из итогового словаря. Это удобно, когда требуется скрыть от клиента конфиденциальные данные, например пароль или внутренние идентификаторы.

Параметр можно передавать напрямую в метод model_dump или через аргумент response_model_exclude в декораторах маршрутов FastAPI.

Синтаксис

model.model_dump(exclude={'field1', 'field2'})

Пример

Давайте создадим модель пользователя и исключим поле password при сериализации:

from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class User(BaseModel): name: str password: str @app.get('/user') def get_user(): user = User(name='abcde', password='secret') return user.model_dump(exclude={'password'})

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

{"name": "abcde"}

Пример

Давайте исключим поле через параметр response_model_exclude в декораторе маршрута:

from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class User(BaseModel): name: str password: str @app.get('/user', response_model=User, response_model_exclude={'password'}) def get_user(): return User(name='abcde', password='secret')

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

{"name": "abcde"}

Пример

Давайте исключим несколько полей сразу, передав множество из двух элементов:

from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class User(BaseModel): name: str email: str password: str @app.get('/user') def get_user(): user = User(name='abcde', email='user@example.com', password='secret') return user.model_dump(exclude={'email', 'password'})

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

{"name": "abcde"}

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

  • параметр include,
    который включает только указанные поля в результат
  • параметр exclude_unset,
    который исключает поля, не заданные при создании модели
  • параметр exclude_none,
    который исключает поля со значением None
  • функция jsonable_encoder,
    которая преобразует объекты в JSON-совместимый формат
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить