mirror of https://github.com/tiangolo/fastapi.git
🌐 Add Russian translation for `docs/ru/docs/tutorial/body-fields.md` (#5898)
This commit is contained in:
parent
6e3c707c60
commit
8b62319d6c
|
|
@ -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 схемы.
|
||||||
|
|
@ -62,6 +62,7 @@ nav:
|
||||||
- fastapi-people.md
|
- fastapi-people.md
|
||||||
- python-types.md
|
- python-types.md
|
||||||
- Учебник - руководство пользователя:
|
- Учебник - руководство пользователя:
|
||||||
|
- tutorial/body-fields.md
|
||||||
- tutorial/background-tasks.md
|
- tutorial/background-tasks.md
|
||||||
- async.md
|
- async.md
|
||||||
- Развёртывание:
|
- Развёртывание:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue