Browse Source

📝 Add source for examples for migration from Pydantic v1 to Pydantic v2

pull/14168/head
Sebastián Ramírez 9 months ago
parent
commit
6792694e26
  1. 9
      docs_src/pydantic_v1_in_v2/tutorial001_an.py
  2. 7
      docs_src/pydantic_v1_in_v2/tutorial001_an_py310.py
  3. 18
      docs_src/pydantic_v1_in_v2/tutorial002_an.py
  4. 16
      docs_src/pydantic_v1_in_v2/tutorial002_an_py310.py
  5. 25
      docs_src/pydantic_v1_in_v2/tutorial003_an.py
  6. 23
      docs_src/pydantic_v1_in_v2/tutorial003_an_py310.py
  7. 20
      docs_src/pydantic_v1_in_v2/tutorial004_an.py
  8. 19
      docs_src/pydantic_v1_in_v2/tutorial004_an_py310.py
  9. 19
      docs_src/pydantic_v1_in_v2/tutorial004_an_py39.py

9
docs_src/pydantic_v1_in_v2/tutorial001_an.py

@ -0,0 +1,9 @@
from typing import Union
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: Union[str, None] = None
size: float

7
docs_src/pydantic_v1_in_v2/tutorial001_an_py310.py

@ -0,0 +1,7 @@
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
size: float

18
docs_src/pydantic_v1_in_v2/tutorial002_an.py

@ -0,0 +1,18 @@
from typing import Union
from fastapi import FastAPI
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: Union[str, None] = None
size: float
app = FastAPI()
@app.post("/items/")
async def create_item(item: Item) -> Item:
return item

16
docs_src/pydantic_v1_in_v2/tutorial002_an_py310.py

@ -0,0 +1,16 @@
from fastapi import FastAPI
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
size: float
app = FastAPI()
@app.post("/items/")
async def create_item(item: Item) -> Item:
return item

25
docs_src/pydantic_v1_in_v2/tutorial003_an.py

@ -0,0 +1,25 @@
from typing import Union
from fastapi import FastAPI
from pydantic import BaseModel as BaseModelV2
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: Union[str, None] = None
size: float
class ItemV2(BaseModelV2):
name: str
description: Union[str, None] = None
size: float
app = FastAPI()
@app.post("/items/", response_model=ItemV2)
async def create_item(item: Item):
return item

23
docs_src/pydantic_v1_in_v2/tutorial003_an_py310.py

@ -0,0 +1,23 @@
from fastapi import FastAPI
from pydantic import BaseModel as BaseModelV2
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
size: float
class ItemV2(BaseModelV2):
name: str
description: str | None = None
size: float
app = FastAPI()
@app.post("/items/", response_model=ItemV2)
async def create_item(item: Item):
return item

20
docs_src/pydantic_v1_in_v2/tutorial004_an.py

@ -0,0 +1,20 @@
from typing import Union
from fastapi import FastAPI
from fastapi.temp_pydantic_v1_params import Body
from pydantic.v1 import BaseModel
from typing_extensions import Annotated
class Item(BaseModel):
name: str
description: Union[str, None] = None
size: float
app = FastAPI()
@app.post("/items/")
async def create_item(item: Annotated[Item, Body(embed=True)]) -> Item:
return item

19
docs_src/pydantic_v1_in_v2/tutorial004_an_py310.py

@ -0,0 +1,19 @@
from typing import Annotated
from fastapi import FastAPI
from fastapi.temp_pydantic_v1_params import Body
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: str | None = None
size: float
app = FastAPI()
@app.post("/items/")
async def create_item(item: Annotated[Item, Body(embed=True)]) -> Item:
return item

19
docs_src/pydantic_v1_in_v2/tutorial004_an_py39.py

@ -0,0 +1,19 @@
from typing import Annotated, Union
from fastapi import FastAPI
from fastapi.temp_pydantic_v1_params import Body
from pydantic.v1 import BaseModel
class Item(BaseModel):
name: str
description: Union[str, None] = None
size: float
app = FastAPI()
@app.post("/items/")
async def create_item(item: Annotated[Item, Body(embed=True)]) -> Item:
return item
Loading…
Cancel
Save