# ๐ช - โน
## โน โ โฎ๏ธ `PUT`
โน ๐ฌ ๐ ๐ช โ๏ธ ๐บ๐ธ๐ `PUT` ๐ ๏ธ.
๐ ๐ช โ๏ธ `jsonable_encoder` ๐ ๐ข ๐ฝ ๐ ๐ ๐ช ๐ช ๐ป (โ
โฎ๏ธ โ ๐ฝ). ๐ผ, ๐ญ `datetime` `str`.
{* ../../docs_src/body_updates/tutorial001.py hl[30:35] *}
`PUT` โ๏ธ ๐จ ๐ฝ ๐ ๐ โ โป ๐ฝ.
### โ ๐ โ
๐ โ ๐ ๐ฅ ๐ ๐ โน ๐ฌ `bar` โ๏ธ `PUT` โฎ๏ธ ๐ช โ:
```Python
{
"name": "Barz",
"price": 3,
"description": None,
}
```
โฉ๏ธ โซ๏ธ ๐ซ ๐ โช ๐ช ๐ข `"tax": 20.2`, ๐ข ๐ท ๐ โ ๐ข ๐ฒ `"tax": 10.5`.
& ๐ ๐ ๐ โฎ๏ธ ๐ "๐" `tax` `10.5`.
## ๐ โน โฎ๏ธ `PATCH`
๐ ๐ช โ๏ธ ๐บ๐ธ๐ `PATCH` ๐ ๏ธ *๐* โน ๐ฝ.
๐ โ ๐ ๐ ๐ช ๐จ ๐ด ๐ฝ ๐ ๐ ๐ โน, ๐ ๐ ๐ฃ.
/// note
`PATCH` ๐ ๐ โ๏ธ & ๐ญ ๐ `PUT`.
& ๐ ๐ โ๏ธ ๐ด `PUT`, ๐ โน.
๐ **๐** โ๏ธ ๐ซ ๐ ๐ ๐, **FastAPI** ๐ซ ๐ซ ๐ ๐ซ.
โ๏ธ ๐ ๐ฆฎ ๐ฆ ๐, ๐ โ๏ธ ๐, โ ๐ซ ๐ฏ โ๏ธ.
///
### โ๏ธ Pydantic `exclude_unset` ๐ข
๐ฅ ๐ ๐ ๐จ ๐ โน, โซ๏ธ ๐ถ โ โ๏ธ ๐ข `exclude_unset` Pydantic ๐ท `.dict()`.
๐ `item.dict(exclude_unset=True)`.
๐ ๐ ๐ `dict` โฎ๏ธ ๐ด ๐ฝ ๐ โ ๐โ ๐ `item` ๐ท, ๐ซ ๐ข ๐ฒ.
โคด๏ธ ๐ ๐ช โ๏ธ ๐ ๐ `dict` โฎ๏ธ ๐ด ๐ฝ ๐ โ (๐จ ๐จ), ๐ซ ๐ข ๐ฒ:
{* ../../docs_src/body_updates/tutorial002.py hl[34] *}
### โ๏ธ Pydantic `update` ๐ข
๐, ๐ ๐ช โ ๐ โป ๐ท โ๏ธ `.copy()`, & ๐ถโโ๏ธ `update` ๐ข โฎ๏ธ `dict` โ ๐ฝ โน.
๐ `stored_item_model.copy(update=update_data)`:
{* ../../docs_src/body_updates/tutorial002.py hl[35] *}
### ๐ โน ๐
๐, โ ๐ โน ๐ ๐:
* (โ) โ๏ธ `PATCH` โฉ๏ธ `PUT`.
* ๐ ๐ช ๐ฝ.
* ๐ฎ ๐ ๐ฝ Pydantic ๐ท.
* ๐ `dict` ๐ต ๐ข ๐ฒ โช๏ธโก๏ธ ๐ข ๐ท (โ๏ธ `exclude_unset`).
* ๐ ๐ ๐ ๐ช โน ๐ด ๐ฒ ๐ค โ ๐ฉโ๐ป, โฉ๏ธ ๐ ๐ฒ โช ๐ช โฎ๏ธ ๐ข ๐ฒ ๐ ๐ท.
* โ ๐ ๐ช ๐ท, ๐ ๏ธ โซ๏ธ ๐ข โฎ๏ธ ๐จ ๐ โน (โ๏ธ `update` ๐ข).
* ๐ ๐ ๐ท ๐ณ ๐ ๐ช ๐ช ๐ ๐ฝ (๐ผ, โ๏ธ `jsonable_encoder`).
* ๐ โญ โ๏ธ ๐ท `.dict()` ๐ฉโ๐ฌ ๐, โ๏ธ โซ๏ธ โ ๐ญ (& ๐) ๐ฒ ๐ฝ ๐ ๐ ๐ช ๐ ๐ป, ๐ผ, `datetime` `str`.
* ๐ ๐ฝ ๐ ๐ฝ.
* ๐จ โน ๐ท.
{* ../../docs_src/body_updates/tutorial002.py hl[30:37] *}
/// tip
๐ ๐ช ๐ค โ๏ธ ๐ ๐ โ โฎ๏ธ ๐บ๐ธ๐ `PUT` ๐ ๏ธ.
โ๏ธ ๐ผ ๐ฅ โ๏ธ `PATCH` โฉ๏ธ โซ๏ธ โ ๐ซ โ๏ธ ๐ผ.
///
/// note
๐ ๐ ๐ข ๐ท โ.
, ๐ฅ ๐ ๐ ๐จ ๐ โน ๐ ๐ช ๐ซ ๐ ๐ข, ๐ ๐ช โ๏ธ ๐ท โฎ๏ธ ๐ ๐ข โข ๐ฆ (โฎ๏ธ ๐ข ๐ฒ โ๏ธ `None`).
๐ฌ โช๏ธโก๏ธ ๐ท โฎ๏ธ ๐ ๐ฆ ๐ฒ **โน** & ๐ท โฎ๏ธ โ ๐ฒ **๐**, ๐ ๐ช โ๏ธ ๐ญ ๐ฌ [โ ๐ท](extra-models.md){.internal-link target=_blank}.
///