Browse Source

🌐 Add Russian translation for `docs/ru/docs/tutorial/body-fields.md` (#5898)

pull/5971/head
Alexander Sviridov 2 years ago
committed by GitHub
parent
commit
8b62319d6c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 69
      docs/ru/docs/tutorial/body-fields.md
  2. 1
      docs/ru/mkdocs.yml

69
docs/ru/docs/tutorial/body-fields.md

@ -0,0 +1,69 @@
# Body - Поля
Таким же способом, как вы объявляете дополнительную валидацию и метаданные в параметрах *функции обработки пути* с помощью функций `Query`, `Path` и `Body`, вы можете объявлять валидацию и метаданные внутри Pydantic моделей, используя функцию `Field` из Pydantic.
## Импорт `Field`
Сначала вы должны импортировать его:
=== "Python 3.6 и выше"
```Python hl_lines="4"
{!> ../../../docs_src/body_fields/tutorial001.py!}
```
=== "Python 3.10 и выше"
```Python hl_lines="2"
{!> ../../../docs_src/body_fields/tutorial001_py310.py!}
```
!!! warning "Внимание"
Обратите внимание, что функция `Field` импортируется непосредственно из `pydantic`, а не из `fastapi`, как все остальные функции (`Query`, `Path`, `Body` и т.д.).
## Объявление атрибутов модели
Вы можете использовать функцию `Field` с атрибутами модели:
=== "Python 3.6 и выше"
```Python hl_lines="11-14"
{!> ../../../docs_src/body_fields/tutorial001.py!}
```
=== "Python 3.10 и выше"
```Python hl_lines="9-12"
{!> ../../../docs_src/body_fields/tutorial001_py310.py!}
```
Функция `Field` работает так же, как `Query`, `Path` и `Body`, у ее такие же параметры и т.д.
!!! note "Технические детали"
На самом деле, `Query`, `Path` и другие функции, которые вы увидите в дальнейшем, создают объекты подклассов общего класса `Param`, который сам по себе является подклассом `FieldInfo` из Pydantic.
И `Field` (из Pydantic), и `Body`, оба возвращают объекты подкласса `FieldInfo`.
У класса `Body` есть и другие подклассы, с которыми вы ознакомитесь позже.
Помните, что когда вы импортируете `Query`, `Path` и другое из `fastapi`, это фактически функции, которые возвращают специальные классы.
!!! tip "Подсказка"
Обратите внимание, что каждый атрибут модели с типом, значением по умолчанию и `Field` имеет ту же структуру, что и параметр *функции обработки пути* с `Field` вместо `Path`, `Query` и `Body`.
## Добавление дополнительной информации
Вы можете объявлять дополнительную информацию в `Field`, `Query`, `Body` и т.п. Она будет включена в сгенерированную JSON схему.
Вы узнаете больше о добавлении дополнительной информации позже в документации, когда будете изучать, как задавать примеры принимаемых данных.
!!! warning "Внимание"
Дополнительные ключи, переданные в функцию `Field`, также будут присутствовать в сгенерированной OpenAPI схеме вашего приложения.
Поскольку эти ключи не являются обязательной частью спецификации OpenAPI, некоторые инструменты OpenAPI, например, [валидатор OpenAPI](https://validator.swagger.io/), могут не работать с вашей сгенерированной схемой.
## Резюме
Вы можете использовать функцию `Field` из Pydantic, чтобы задавать дополнительную валидацию и метаданные для атрибутов модели.
Вы также можете использовать дополнительные ключевые аргументы, чтобы добавить метаданные JSON схемы.

1
docs/ru/mkdocs.yml

@ -62,6 +62,7 @@ nav:
- fastapi-people.md
- python-types.md
- Учебник - руководство пользователя:
- tutorial/body-fields.md
- tutorial/background-tasks.md
- async.md
- Развёртывание:

Loading…
Cancel
Save