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

Параметр include

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

Синтаксис

jsonable_encoder(obj, include={'field1', 'field2'})

Пример

Давайте рассмотрим модель User с тремя полями и включим в результат только поля name и age:

from fastapi import FastAPI from fastapi.encoders import jsonable_encoder from pydantic import BaseModel app = FastAPI() class User(BaseModel): name: str age: int email: str @app.get('/user') def get_user(): user = User(name='abcde', age=25, email='user@mail.com') res = jsonable_encoder(user, include={'name', 'age'}) return res

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

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

Пример

Давайте применим include к вложенным моделям. У нас будет модель Article, содержащая вложенную модель Author:

from fastapi import FastAPI from fastapi.encoders import jsonable_encoder from pydantic import BaseModel app = FastAPI() class Author(BaseModel): name: str email: str class Article(BaseModel): title: str body: str author: Author @app.get('/article') def get_article(): article = Article( title='hello', body='article body', author=Author(name='abcde', email='user@mail.com') ) res = jsonable_encoder( article, include={'title', 'author': {'name'}} ) return res

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

{"title": "hello", "author": {"name": "abcde"}}

Как видно из примера, для вложенных моделей значением include передаётся словарь, где ключ - имя поля, а значение - множество включаемых полей вложенной модели.

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

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