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

Параметр by_alias

Параметр by_alias применяется к методам кодирования моделей Pydantic, таким как model_dump и model_dump_json, а также к функции jsonable_encoder. Он принимает булево значение и указывает, подставлять ли псевдоним поля вместо его имени. Если передать True, ключи в результате будут взяты из alias, а если False (значение по умолчанию), то используются настоящие имена полей модели.

Синтаксис

model.model_dump(by_alias=True) model.model_dump_json(by_alias=True) jsonable_encoder(model, by_alias=True)

Пример

Давайте создадим модель с полем, имеющим псевдоним, и сравним вывод с параметром by_alias и без него:

from fastapi import FastAPI from pydantic import BaseModel, Field app = FastAPI() class User(BaseModel): user_name: str = Field(alias='userName') @app.get('/user') def get_user(): user = User(user_name='abcde') return user.model_dump()

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

{"user_name": "abcde"}

Теперь передадим by_alias=True:

<+python+> from fastapi import FastAPI from pydantic import BaseModel, Field app = FastAPI() class User(BaseModel): user_name: str = Field(alias='userName') @app.get('/user') def get_user(): user = User(user_name='abcde') return user.model_dump(by_alias=True) <-python+>

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

<+python+> {"userName": "abcde"} <-python+>

Пример

Давайте применим by_alias в функции jsonable_encoder для преобразования модели в словарь:

<+python+> from fastapi import FastAPI from fastapi.encoders import jsonable_encoder from pydantic import BaseModel, Field app = FastAPI() class Article(BaseModel): article_title: str = Field(alias='articleTitle') @app.get('/article') def get_article(): article = Article(article_title='hello') res = jsonable_encoder(article, by_alias=True) return res <-python+>

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

<+python+> {"articleTitle": "hello"} <-python+>

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

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