--- /dev/null
+# Π’ΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΡ - ΠΠΊΠ»Π°Π΄Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
+
+Π **FastAPI** ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·Π½Π°ΡΠ°ΡΠΈ, ΠΏΠ΅ΡΠ΅Π²ΡΡΡΡΠΈ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΠ²Π°ΡΠΈ ΡΠ° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠΊΡ ΠΌΠΎΠΆΡΡΡ Π±ΡΡΠΈ Π²ΠΊΠ»Π°Π΄Π΅Π½Ρ Π½Π° Π±ΡΠ΄Ρ-ΡΠΊΡ Π³Π»ΠΈΠ±ΠΈΠ½Ρ (Π·Π°Π²Π΄ΡΠΊΠΈ Pydantic).
+
+## ΠΠΎΠ»Ρ ΡΠΏΠΈΡΠΊΡ
+
+ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·Π½Π°ΡΠΈΡΠΈ Π°ΡΡΠΈΠ±ΡΡ ΡΠΊ ΠΏΡΠ΄ΡΠΈΠΏ. ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, Python-ΡΠΏΠΈΡΠΎΠΊ (`list`):
+
+{* ../../docs_src/body_nested_models/tutorial001_py310.py hl[12] *}
+
+Π¦Π΅ Π·ΡΠΎΠ±ΠΈΡΡ `tags` ΡΠΏΠΈΡΠΊΠΎΠΌ, Ρ
ΠΎΡΠ° Π½Π΅ Π²ΠΈΠ·Π½Π°ΡΠ°ΡΡΡΡΡ ΡΠΈΠΏ Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ² ΡΠΏΠΈΡΠΊΡ.
+
+## ΠΠΎΠ»Ρ ΡΠΏΠΈΡΠΊΡ Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠΈΠΏΡ
+
+ΠΠ»Π΅ Python ΠΌΠ°Ρ ΡΠΏΠ΅ΡΠΈΡΡΡΠ½ΠΈΠΉ ΡΠΏΠΎΡΡΠ± ΠΎΠ³ΠΎΠ»ΠΎΡΠ΅Π½Π½Ρ ΡΠΏΠΈΡΠΊΡΠ² Π· Π²Π½ΡΡΡΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π°Π±ΠΎ "ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΡ":
+### ΠΠΌΠΏΠΎΡΡΡΡΠΌΠΎ `List` Π· ΠΌΠΎΠ΄ΡΠ»Ρ typing
+
+Π£ Python 3.9 Ρ Π²ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½Π° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΠΉ `list` Π΄Π»Ρ ΠΎΠ³ΠΎΠ»ΠΎΡΠ΅Π½Π½Ρ ΡΠ°ΠΊΠΈΡ
ΡΠΈΠΏΡΠ², ΡΠΊ ΠΌΠΈ ΠΏΠΎΠ±Π°ΡΠΈΠΌΠΎ Π½ΠΈΠΆΡΠ΅. π‘
+
+ΠΠ»Π΅ Π² Python Π²Π΅ΡΡΡΡ Π΄ΠΎ 3.9 (Π²ΡΠ΄ 3.6 Ρ Π²ΠΈΡΠ΅) ΡΠΏΠΎΡΠ°ΡΠΊΡ ΠΏΠΎΡΡΡΠ±Π½ΠΎ ΡΠΌΠΏΠΎΡΡΡΠ²Π°ΡΠΈ `List` Π· ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΡ Π±ΡΠ±Π»ΡΠΎΡΠ΅ΠΊΠΈ Python `typing`:
+
+{* ../../docs_src/body_nested_models/tutorial002.py hl[1] *}
+
+### ΠΠ³ΠΎΠ»ΠΎΡΠ΅Π½Π½Ρ `list` Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠΈΠΏΡ
+
+Π©ΠΎΠ± ΠΎΠ³ΠΎΠ»ΠΎΡΠΈΡΠΈ ΡΠΈΠΏΠΈ Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΈΠΏΡ (Π²Π½ΡΡΡΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ), ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠΊ `list`, `dict`, `tuple`:
+
+* Π―ΠΊΡΠΎ ΠΠΈ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΠ΅ Π²Π΅ΡΡΡΡ Python Π΄ΠΎ 3.9, ΡΠΌΠΏΠΎΡΡΡΠΉΡΠ΅ ΡΡ
Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π½Ρ Π²Π΅ΡΡΡΡ Π· ΠΌΠΎΠ΄ΡΠ»Ρ `typing`.
+* ΠΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ Π²Π½ΡΡΡΡΡΠ½Ρ ΡΠΈΠΏΠΈ ΡΠΊ "ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΠΈΠΏΡ", Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΠΈ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½Ρ Π΄ΡΠΆΠΊΠΈ: `[` and `]`.
+
+Π£ Python 3.9 ΡΠ΅ Π±ΡΠ΄Π΅ Π²ΠΈΠ³Π»ΡΠ΄Π°ΡΠΈ ΡΠ°ΠΊ:
+
+```Python
+my_list: list[str]
+```
+
+Π£ Π²Π΅ΡΡΡΡΡ
Python Π΄ΠΎ 3.9 ΡΠ΅ Π²ΠΈΠ³Π»ΡΠ΄Π°Ρ ΡΠ°ΠΊ:
+
+```Python
+from typing import List
+
+my_list: List[str]
+```
+
+Π¦Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Python Π΄Π»Ρ ΠΎΠ³ΠΎΠ»ΠΎΡΠ΅Π½Π½Ρ ΡΠΈΠΏΡΠ².
+
+ΠΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ ΡΠΎΠΉ ΡΠ°ΠΌΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π°ΡΡΠΈΠ±ΡΡΡΠ² ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π· Π²Π½ΡΡΡΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ.
+
+ΠΡΠΆΠ΅, Ρ Π½Π°ΡΠΎΠΌΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ, ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π·ΡΠΎΠ±ΠΈΡΠΈ `tags` ΡΠ°ΠΌΠ΅ "ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΠ΄ΠΊΡΠ²":
+
+{* ../../docs_src/body_nested_models/tutorial002_py310.py hl[12] *}
+
+## Π’ΠΈΠΏΠΈ ΠΌΠ½ΠΎΠΆΠΈΠ½
+
+ΠΠ»Π΅ ΠΏΠΎΡΡΠΌ ΠΌΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°Π»ΠΈ, ΡΠΎ ΡΠ΅Π³ΠΈ Π½Π΅ ΠΏΠΎΠ²ΠΈΠ½Π½Ρ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠΈΡΡ, Π²ΠΎΠ½ΠΈ, ΠΉΠΌΠΎΠ²ΡΡΠ½ΠΎ, ΠΏΠΎΠ²ΠΈΠ½Π½Ρ Π±ΡΡΠΈ ΡΠ½ΡΠΊΠ°Π»ΡΠ½ΠΈΠΌΠΈ ΡΡΠ΄ΠΊΠ°ΠΌΠΈ.
+
+Π Python ΠΌΠ°Ρ ΡΠΏΠ΅ΡΡΠ°Π»ΡΠ½ΠΈΠΉ ΡΠΈΠΏ Π΄Π°Π½ΠΈΡ
Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠΈΠ½ ΡΠ½ΡΠΊΠ°Π»ΡΠ½ΠΈΡ
Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ² β ΡΠ΅ `set`.
+
+Π’ΠΎΠΌΡ ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΎΠ³ΠΎΠ»ΠΎΡΠΈΡΠΈ `tags` ΡΠΊ ΠΌΠ½ΠΎΠΆΠΈΠ½Ρ ΡΡΠ΄ΠΊΡΠ²:
+
+{* ../../docs_src/body_nested_models/tutorial003_py310.py hl[12] *}
+
+ΠΠ°Π²ΡΡΡ ΡΠΊΡΠΎ ΠΠΈ ΠΎΡΡΠΈΠΌΠ°ΡΡΠ΅ Π·Π°ΠΏΠΈΡ Π· Π΄ΡΠ±Π»ΡΠΎΠ²Π°Π½ΠΈΠΌΠΈ Π΄Π°Π½ΠΈΠΌΠΈ, Π²ΡΠ½ Π±ΡΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠΉ Ρ ΠΌΠ½ΠΎΠΆΠΈΠ½Ρ ΡΠ½ΡΠΊΠ°Π»ΡΠ½ΠΈΡ
Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ².
+
+Π ΠΊΠΎΠ»ΠΈ ΠΠΈ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΠΈΠ²ΠΎΠ΄ΠΈΡΠΈ ΡΡ Π΄Π°Π½Ρ, Π½Π°Π²ΡΡΡ ΡΠΊΡΠΎ Π΄ΠΆΠ΅ΡΠ΅Π»ΠΎ ΠΌΡΡΡΠΈΡΡ Π΄ΡΠ±Π»ΡΠΊΠ°ΡΠΈ, Π²ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡΡ Π²ΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠΊ ΠΌΠ½ΠΎΠΆΠΈΠ½Π° ΡΠ½ΡΠΊΠ°Π»ΡΠ½ΠΈΡ
Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ².
+
+Π ΡΠ΅ Π±ΡΠ΄Π΅ Π°Π½ΠΎΡΠΎΠ²Π°Π½ΠΎ/Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²Π°Π½ΠΎ Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π½ΠΎ.
+
+## ΠΠΊΠ»Π°Π΄Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
+
+ΠΠΎΠΆΠ΅Π½ Π°ΡΡΠΈΠ±ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Pydantic ΠΌΠ°Ρ ΡΠΈΠΏ.
+
+ΠΠ»Π΅ ΡΠ΅ΠΉ ΡΠΈΠΏ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ΅ Π±ΡΡΠΈ ΡΠ½ΡΠΎΡ ΠΌΠΎΠ΄Π΅Π»Π»Ρ Pydantic.
+
+ΠΡΠΆΠ΅, ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΠΎΠ»ΠΎΡΠΈΡΠΈ Π³Π»ΠΈΠ±ΠΎΠΊΠΎ Π²ΠΊΠ»Π°Π΄Π΅Π½Ρ JSON "ΠΎΠ±'ΡΠΊΡΠΈ" Π· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΠΌΠΈ ΡΠΌΠ΅Π½Π°ΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΡΠ², ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ° ΠΏΠ΅ΡΠ΅Π²ΡΡΠΊΠ°ΠΌΠΈ.
+
+Π£ΡΠ΅ ΡΠ΅, Π²ΠΊΠ»Π°Π΄Π΅Π½Π΅ Π±Π΅Π· ΠΎΠ±ΠΌΠ΅ΠΆΠ΅Π½Ρ.
+
+### ΠΠΈΠ·Π½Π°ΡΠ΅Π½Π½Ρ ΠΏΡΠ΄ΠΌΠΎΠ΄Π΅Π»Ρ
+
+ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π²ΠΈΠ·Π½Π°ΡΠΈΡΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ `Image`:
+
+{* ../../docs_src/body_nested_models/tutorial004_py310.py hl[7:9] *}
+
+### ΠΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ ΠΏΡΠ΄ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΊ ΡΠΈΠΏΡ
+
+Π ΠΏΠΎΡΡΠΌ ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΡΡ ΡΠΊ ΡΠΈΠΏ Π°ΡΡΠΈΠ±ΡΡΠ°:
+
+{* ../../docs_src/body_nested_models/tutorial004_py310.py hl[18] *}
+
+Π¦Π΅ ΠΎΠ·Π½Π°ΡΠ°ΡΠΈΠΌΠ΅, ΡΠΎ **FastAPI** ΠΎΡΡΠΊΡΠ²Π°ΡΠΈΠΌΠ΅ ΡΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ³Π»ΡΠ΄Ρ:
+
+```JSON
+{
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2,
+ "tags": ["rock", "metal", "bar"],
+ "image": {
+ "url": "http://example.com/baz.jpg",
+ "name": "The Foo live"
+ }
+}
+```
+
+ΠΠ°Π²Π΄ΡΠΊΠΈ ΡΠ°ΠΊΡΠΉ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΡΡ Ρ **FastAPI** ΠΠΈ ΠΎΡΡΠΈΠΌΡΡΡΠ΅:
+
+* ΠΡΠ΄ΡΡΠΈΠΌΠΊΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ (Π°Π²ΡΠΎΠ·Π°Π²Π΅ΡΡΠ΅Π½Π½Ρ ΡΠΎΡΠΎ), Π½Π°Π²ΡΡΡ Π΄Π»Ρ Π²ΠΊΠ»Π°Π΄Π΅Π½ΠΈΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
+* ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΡΡ Π΄Π°Π½ΠΈΡ
+* ΠΠ°Π»ΡΠ΄Π°ΡΡΡ Π΄Π°Π½ΠΈΡ
+* ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΡΡ
+
+## Π‘ΠΏΠ΅ΡΡΠ°Π»ΡΠ½Ρ ΡΠΈΠΏΠΈ ΡΠ° Π²Π°Π»ΡΠ΄Π°ΡΡΡ
+
+ΠΠΊΡΡΠΌ Π·Π²ΠΈΡΠ°ΠΉΠ½ΠΈΡ
ΡΠΈΠΏΡΠ², ΡΠ°ΠΊΠΈΡ
ΡΠΊ `str`, `int`, `float`, ΡΠ° ΡΠ½. ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΡΠΊΠ»Π°Π΄Π½ΡΡΡ ΡΠΈΠΏΠΈ, ΡΠΊΡ Π½Π°ΡΠ»ΡΠ΄ΡΡΡΡ `str`.
+
+Π©ΠΎΠ± ΠΏΠΎΠ±Π°ΡΠΈΡΠΈ Π²ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π°ΡΡΠ°Π½ΡΠΈ, ΠΎΠ·Π½Π°ΠΉΠΎΠΌΡΠ΅ΡΡ Π· ΠΎΠ³Π»ΡΠ΄ΠΎΠΌ <a href="https://docs.pydantic.dev/latest/concepts/types/" class="external-link" target="_blank">ΡΠΈΠΏΡΠ² Ρ Pydantic</a>. ΠΠ΅ΡΠΊΡ ΠΏΡΠΈΠΊΠ»Π°Π΄ΠΈ Π±ΡΠ΄ΡΡΡ Ρ Π½Π°ΡΡΡΠΏΠ½ΠΈΡ
ΡΠΎΠ·Π΄ΡΠ»Π°Ρ
.
+
+ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, Ρ ΠΌΠΎΠ΄Π΅Π»Ρ `Image` Ρ ΠΏΠΎΠ»Π΅ `url`, ΡΠΎΠΌΡ ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΎΠ³ΠΎΠ»ΠΎΡΠΈΡΠΈ ΠΉΠΎΠ³ΠΎ ΡΠΊ `HttpUrl` Π²ΡΠ΄ Pydantic Π·Π°ΠΌΡΡΡΡ `str`:
+
+{* ../../docs_src/body_nested_models/tutorial005_py310.py hl[2,8] *}
+
+Π ΡΠ΄ΠΎΠΊ Π±ΡΠ΄Π΅ ΠΏΠ΅ΡΠ΅Π²ΡΡΠ΅Π½ΠΎ ΡΠΊ Π΄ΡΠΉΡΠ½Ρ URL-Π°Π΄ΡΠ΅ΡΡ Ρ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²Π°Π½ΠΎ Π² JSON Schema / OpenAPI ΡΠΊ URL.
+
+## ΠΡΡΠΈΠ±ΡΡΠΈ Π·Ρ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΏΡΠ΄ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
+
+Π£ Pydantic ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΊ ΠΏΡΠ΄ΡΠΈΠΏΠΈ Π΄Π»Ρ `list`, `set` ΡΠΎΡΠΎ:
+
+{* ../../docs_src/body_nested_models/tutorial006_py310.py hl[18] *}
+
+Π¦Π΅ ΠΎΠ·Π½Π°ΡΠ°Ρ, ΡΠΎ **FastAPI** Π±ΡΠ΄Π΅ ΠΎΡΡΠΊΡΠ²Π°ΡΠΈ (ΠΊΠΎΠ½Π²Π΅ΡΡΡΠ²Π°ΡΠΈ, Π²Π°Π»ΡΠ΄ΡΠ²Π°ΡΠΈ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΠ²Π°ΡΠΈ ΡΠΎΡΠΎ) JSON ΡΡΠ»ΠΎ Π·Π°ΠΏΠΈΡΡ Ρ Π²ΠΈΠ³Π»ΡΠ΄Ρ:
+
+```JSON hl_lines="11"
+{
+ "name": "Foo",
+ "description": "The pretender",
+ "price": 42.0,
+ "tax": 3.2,
+ "tags": [
+ "rock",
+ "metal",
+ "bar"
+ ],
+ "images": [
+ {
+ "url": "http://example.com/baz.jpg",
+ "name": "The Foo live"
+ },
+ {
+ "url": "http://example.com/dave.jpg",
+ "name": "The Baz"
+ }
+ ]
+}
+```
+
+/// info | ΠΠ½ΡΠΎΡΠΌΠ°ΡΡΡ
+
+ΠΠ²Π΅ΡΠ½ΡΡΡ ΡΠ²Π°Π³Ρ, ΡΠΎ ΡΠ΅ΠΏΠ΅Ρ ΠΊΠ»ΡΡ `images` ΠΌΡΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±'ΡΠΊΡΡΠ² Π·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ.
+
+///
+
+## ΠΠ»ΠΈΠ±ΠΎΠΊΠΎ Π²ΠΊΠ»Π°Π΄Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
+
+ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ·Π½Π°ΡΠ°ΡΠΈ Π²ΠΊΠ»Π°Π΄Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΠ²ΡΠ»ΡΠ½ΠΎΡ Π³Π»ΠΈΠ±ΠΈΠ½ΠΈ:
+
+{* ../../docs_src/body_nested_models/tutorial007_py310.py hl[7,12,18,21,25] *}
+
+/// info | ΠΠ½ΡΠΎΡΠΌΠ°ΡΡΡ
+
+ΠΠ²Π΅ΡΠ½ΡΡΡ ΡΠ²Π°Π³Ρ, ΡΠΎ Π² ΠΌΠΎΠ΄Π΅Π»Ρ `Offer` Ρ ΡΠΏΠΈΡΠΎΠΊ `Item`ΡΠ², ΡΠΊΡ, ΡΠ²ΠΎΡΡ ΡΠ΅ΡΠ³ΠΎΡ, ΠΌΠΎΠΆΡΡΡ ΠΌΠ°ΡΠΈ Π½Π΅ΠΎΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²ΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ `Image`ΡΠ².
+
+///
+
+## Π’ΡΠ»Π° Π·Π°ΠΏΠΈΡΡΠ², ΡΠΎ ΡΠΊΠ»Π°Π΄Π°ΡΡΡΡΡ Π·Ρ ΡΠΏΠΈΡΠΊΡΠ²
+
+Π―ΠΊΡΠΎ Π²Π΅ΡΡ
Π½ΡΠΉ ΡΡΠ²Π΅Π½Ρ JSON ΡΡΠ»Π°, ΡΠΊΠ΅ ΠΠΈ ΠΎΡΡΠΊΡΡΡΠ΅, Ρ JSON `ΠΌΠ°ΡΠΈΠ²ΠΎΠΌ` (Ρ Python β `list`), ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΠΎΠ»ΠΎΡΠΈΡΠΈ ΡΠΈΠΏ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΡΡ, ΡΠΊ Ρ Π² ΠΌΠΎΠ΄Π΅Π»ΡΡ
Pydantic:
+
+```Python
+images: List[Image]
+```
+Π°Π±ΠΎ Π² Python 3.9 Ρ Π²ΠΈΡΠ΅:
+
+```Python
+images: list[Image]
+```
+
+Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄:
+
+{* ../../docs_src/body_nested_models/tutorial008_py39.py hl[13] *}
+
+## ΠΡΠ΄ΡΡΠΈΠΌΠΊΠ° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ Π²ΡΡΠ΄ΠΈ
+
+ΠΠΈ ΠΎΡΡΠΈΠΌΠ°ΡΡΠ΅ ΠΏΡΠ΄ΡΡΠΈΠΌΠΊΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ Π²ΡΡΠ΄ΠΈ.
+
+ΠΠ°Π²ΡΡΡ Π΄Π»Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΡΠ² Ρ ΡΠΏΠΈΡΠΊΠ°Ρ
:
+
+<img src="/img/tutorial/body-nested-models/image01.png">
+
+ΠΠΈ Π½Π΅ Π·ΠΌΠΎΠ³Π»ΠΈ Π± ΠΎΡΡΠΈΠΌΠ°ΡΠΈ ΡΠ°ΠΊΡ ΠΏΡΠ΄ΡΡΠΈΠΌΠΊΡ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ, ΡΠΊΠ±ΠΈ ΠΏΡΠ°ΡΡΠ²Π°Π»ΠΈ Π½Π°ΠΏΡΡΠΌΡ Π·Ρ `dict`, Π° Π½Π΅ Π· ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Pydantic.
+
+ΠΠ»Π΅ ΠΠ°ΠΌ Π½Π΅ ΠΏΠΎΡΡΡΠ±Π½ΠΎ ΡΡΡΠ±ΡΠ²Π°ΡΠΈΡΡ ΠΏΡΠΎ ΡΠ΅: Π²Ρ
ΡΠ΄Π½Ρ dict'ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΡΡΡΡΡΡ, Π° Π²ΠΈΡ
ΡΠ΄Π½Ρ Π΄Π°Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ²ΠΎΡΡΡΡΡΡΡ Π² JSON.
+
+## Π’ΡΠ»Π° Π· Π΄ΠΎΠ²ΡΠ»ΡΠ½ΠΈΠΌΠΈ `dict`
+
+ΠΠΈ ΡΠ°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΠΎΠ»ΠΎΡΠΈΡΠΈ ΡΡΠ»ΠΎ ΡΠΊ `dict` Π· ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΡ ΡΠ° Π·Π½Π°ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ½ΡΠΎΠ³ΠΎ ΡΠΈΠΏΡ.
+
+Π¦Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ, ΡΠΊΡΠΎ ΠΠΈ Π½Π΅ Π·Π½Π°ΡΡΠ΅ Π½Π°ΠΏΠ΅ΡΠ΅Π΄, ΡΠΊΡ ΡΠΌΠ΅Π½Π° ΠΏΠΎΠ»ΡΠ² Π±ΡΠ΄ΡΡΡ Π΄ΡΠΉΡΠ½ΠΈΠΌΠΈ (ΡΠΊ Ρ Π²ΠΈΠΏΠ°Π΄ΠΊΡ Π· ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Pydantic).
+
+Π¦Π΅ Π±ΡΠ΄Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ, ΡΠΊΡΠΎ ΠΠΈ Ρ
ΠΎΡΠ΅ΡΠ΅ ΠΏΡΠΈΠΉΠΌΠ°ΡΠΈ ΠΊΠ»ΡΡΡ, ΡΠΊΡ Π·Π°Π·Π΄Π°Π»Π΅Π³ΡΠ΄Ρ Π½Π΅Π²ΡΠ΄ΠΎΠΌΡ.
+
+---
+
+Π¦Π΅ ΡΠ°ΠΊΠΎΠΆ Π·ΡΡΡΠ½ΠΎ, ΡΠΊΡΠΎ ΠΠΈ Ρ
ΠΎΡΠ΅ΡΠ΅ ΠΌΠ°ΡΠΈ ΠΊΠ»ΡΡΡ ΡΠ½ΡΠΎΠ³ΠΎ ΡΠΈΠΏΡ (Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, `int`).
+
+ΠΡΡ ΡΠΎ ΠΌΠΈ ΡΠΎΠ·Π³Π»ΡΠ½Π΅ΠΌΠΎ Π΄Π°Π»Ρ.
+
+Π£ ΡΡΠΎΠΌΡ Π²ΠΈΠΏΠ°Π΄ΠΊΡ ΠΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΉΠΌΠ°ΡΠΈ Π±ΡΠ΄Ρ-ΡΠΊΠΈΠΉ `dict`, ΡΠΊΡΠΎ ΠΉΠΎΠ³ΠΎ ΠΊΠ»ΡΡΡ β ΡΠ΅ `int`, Π° Π·Π½Π°ΡΠ΅Π½Π½Ρ β `float`:
+
+{* ../../docs_src/body_nested_models/tutorial009_py39.py hl[7] *}
+
+/// tip | ΠΠΎΡΠ°Π΄Π°
+
+ΠΠ°ΠΉΡΠ΅ Π½Π° ΡΠ²Π°Π·Ρ, ΡΠΎ Π² JSON ΡΡΠ»Ρ ΠΊΠ»ΡΡΡ ΠΌΠΎΠΆΡΡΡ Π±ΡΡΠΈ Π»ΠΈΡΠ΅ ΡΡΠ΄ΠΊΠ°ΠΌΠΈ (`str`).
+
+ΠΠ»Π΅ Pydantic Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΡΡ Π΄Π°Π½Ρ.
+
+Π¦Π΅ ΠΎΠ·Π½Π°ΡΠ°Ρ, ΡΠΎ Π½Π°Π²ΡΡΡ ΡΠΊΡΠΎ ΠΊΠ»ΡΡΠ½ΡΠΈ Π²Π°ΡΠΎΠ³ΠΎ API Π½Π°Π΄ΡΠΈΠ»Π°ΡΠΈΠΌΡΡΡ ΠΊΠ»ΡΡΡ Ρ Π²ΠΈΠ³Π»ΡΠ΄Ρ ΡΡΠ΄ΠΊΡΠ², ΡΠΊΡΠΎ Π²ΠΎΠ½ΠΈ ΠΌΡΡΡΡΡΡ ΡΡΠ»Ρ ΡΠΈΡΠ»Π°, Pydantic ΠΊΠΎΠ½Π²Π΅ΡΡΡΡ ΡΡ
Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π²Π°Π»ΡΠ΄Π°ΡΡΡ.
+
+Π’ΠΎΠ±ΡΠΎ `dict`, ΡΠΊΠΈΠΉ ΠΠΈ ΠΎΡΡΠΈΠΌΠ°ΡΡΠ΅ ΡΠΊ `weights`, ΠΌΠ°ΡΠΈΠΌΠ΅ ΠΊΠ»ΡΡΡ ΡΠΈΠΏΡ `int` ΡΠ° Π·Π½Π°ΡΠ΅Π½Π½Ρ ΡΠΈΠΏΡ `float`.
+
+///
+
+## ΠΡΠ΄ΡΡΠΌΠΎΠΊ
+
+Π **FastAPI** ΠΠΈ ΠΌΠ°ΡΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Ρ Π³Π½ΡΡΠΊΡΡΡΡ Π·Π°Π²Π΄ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌ Pydantic, Π·Π±Π΅ΡΡΠ³Π°ΡΡΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΈΠΌ, ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ ΡΠ° Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΈΠΌ.
+
+Π ΡΠ°ΠΊΠΎΠΆ ΠΎΡΡΠΈΠΌΡΡΡΠ΅ Π²ΡΡ ΠΏΠ΅ΡΠ΅Π²Π°Π³ΠΈ:
+
+* ΠΡΠ΄ΡΡΠΈΠΌΠΊΠ° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ (Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ²Π½Π΅Π½Π½Ρ Π²ΡΡΠ΄ΠΈ!)
+* ΠΠΎΠ½Π²Π΅ΡΡΠ°ΡΡΡ Π΄Π°Π½ΠΈΡ
(ΠΏΠ°ΡΡΠΈΠ½Π³/ΡΠ΅ΡΠΈΠ°Π»ΡΠ·Π°ΡΡΡ)
+* ΠΠ°Π»ΡΠ΄Π°ΡΡΡ Π΄Π°Π½ΠΈΡ
+* ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΡΡ ΡΡ
Π΅ΠΌ
+* ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π΅ ΡΡΠ²ΠΎΡΠ΅Π½Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΡΡ