Browse Source

fix: use model_dump() to avoid pyright errors

pull/14573/head
luffy977338 6 months ago
parent
commit
80c11148d3
  1. 21
      docs_src/app_testing/app_b_an_py310/main.py
  2. 21
      docs_src/app_testing/app_b_an_py39/main.py
  3. 21
      docs_src/app_testing/app_b_py310/main.py
  4. 21
      docs_src/app_testing/app_b_py39/main.py

21
docs_src/app_testing/app_b_an_py310/main.py

@ -3,23 +3,22 @@ from typing import Annotated
from fastapi import FastAPI, Header, HTTPException from fastapi import FastAPI, Header, HTTPException
from pydantic import BaseModel from pydantic import BaseModel
class Item(BaseModel):
id: str
title: str
description: str | None = None
fake_secret_token = "coneofsilence" fake_secret_token = "coneofsilence"
fake_db: dict[str, Item] = { fake_db = {
"foo": Item(id="foo", title="Foo", description="There goes my hero"), "foo": {"id": "foo", "title": "Foo", "description": "There goes my hero"},
"bar": Item(id="bar", title="Bar", description="The bartenders"), "bar": {"id": "bar", "title": "Bar", "description": "The bartenders"},
} }
app = FastAPI() app = FastAPI()
class Item(BaseModel):
id: str
title: str
description: str | None = None
@app.get("/items/{item_id}", response_model=Item) @app.get("/items/{item_id}", response_model=Item)
async def read_main(item_id: str, x_token: Annotated[str, Header()]): async def read_main(item_id: str, x_token: Annotated[str, Header()]):
if x_token != fake_secret_token: if x_token != fake_secret_token:
@ -35,5 +34,5 @@ async def create_item(item: Item, x_token: Annotated[str, Header()]):
raise HTTPException(status_code=400, detail="Invalid X-Token header") raise HTTPException(status_code=400, detail="Invalid X-Token header")
if item.id in fake_db: if item.id in fake_db:
raise HTTPException(status_code=409, detail="Item already exists") raise HTTPException(status_code=409, detail="Item already exists")
fake_db[item.id] = item fake_db[item.id] = item.model_dump()
return item return item

21
docs_src/app_testing/app_b_an_py39/main.py

@ -3,23 +3,22 @@ from typing import Annotated, Union
from fastapi import FastAPI, Header, HTTPException from fastapi import FastAPI, Header, HTTPException
from pydantic import BaseModel from pydantic import BaseModel
class Item(BaseModel):
id: str
title: str
description: Union[str, None] = None
fake_secret_token = "coneofsilence" fake_secret_token = "coneofsilence"
fake_db: dict[str, Item] = { fake_db = {
"foo": Item(id="foo", title="Foo", description="There goes my hero"), "foo": {"id": "foo", "title": "Foo", "description": "There goes my hero"},
"bar": Item(id="bar", title="Bar", description="The bartenders"), "bar": {"id": "bar", "title": "Bar", "description": "The bartenders"},
} }
app = FastAPI() app = FastAPI()
class Item(BaseModel):
id: str
title: str
description: Union[str, None] = None
@app.get("/items/{item_id}", response_model=Item) @app.get("/items/{item_id}", response_model=Item)
async def read_main(item_id: str, x_token: Annotated[str, Header()]): async def read_main(item_id: str, x_token: Annotated[str, Header()]):
if x_token != fake_secret_token: if x_token != fake_secret_token:
@ -35,5 +34,5 @@ async def create_item(item: Item, x_token: Annotated[str, Header()]):
raise HTTPException(status_code=400, detail="Invalid X-Token header") raise HTTPException(status_code=400, detail="Invalid X-Token header")
if item.id in fake_db: if item.id in fake_db:
raise HTTPException(status_code=409, detail="Item already exists") raise HTTPException(status_code=409, detail="Item already exists")
fake_db[item.id] = item fake_db[item.id] = item.model_dump()
return item return item

21
docs_src/app_testing/app_b_py310/main.py

@ -1,23 +1,22 @@
from fastapi import FastAPI, Header, HTTPException from fastapi import FastAPI, Header, HTTPException
from pydantic import BaseModel from pydantic import BaseModel
class Item(BaseModel):
id: str
title: str
description: str | None = None
fake_secret_token = "coneofsilence" fake_secret_token = "coneofsilence"
fake_db: dict[str, Item] = { fake_db = {
"foo": Item(id="foo", title="Foo", description="There goes my hero"), "foo": {"id": "foo", "title": "Foo", "description": "There goes my hero"},
"bar": Item(id="bar", title="Bar", description="The bartenders"), "bar": {"id": "bar", "title": "Bar", "description": "The bartenders"},
} }
app = FastAPI() app = FastAPI()
class Item(BaseModel):
id: str
title: str
description: str | None = None
@app.get("/items/{item_id}", response_model=Item) @app.get("/items/{item_id}", response_model=Item)
async def read_main(item_id: str, x_token: str = Header()): async def read_main(item_id: str, x_token: str = Header()):
if x_token != fake_secret_token: if x_token != fake_secret_token:
@ -33,5 +32,5 @@ async def create_item(item: Item, x_token: str = Header()):
raise HTTPException(status_code=400, detail="Invalid X-Token header") raise HTTPException(status_code=400, detail="Invalid X-Token header")
if item.id in fake_db: if item.id in fake_db:
raise HTTPException(status_code=409, detail="Item already exists") raise HTTPException(status_code=409, detail="Item already exists")
fake_db[item.id] = item fake_db[item.id] = item.model_dump()
return item return item

21
docs_src/app_testing/app_b_py39/main.py

@ -3,23 +3,22 @@ from typing import Union
from fastapi import FastAPI, Header, HTTPException from fastapi import FastAPI, Header, HTTPException
from pydantic import BaseModel from pydantic import BaseModel
class Item(BaseModel):
id: str
title: str
description: Union[str, None] = None
fake_secret_token = "coneofsilence" fake_secret_token = "coneofsilence"
fake_db: dict[str, Item] = { fake_db = {
"foo": Item(id="foo", title="Foo", description="There goes my hero"), "foo": {"id": "foo", "title": "Foo", "description": "There goes my hero"},
"bar": Item(id="bar", title="Bar", description="The bartenders"), "bar": {"id": "bar", "title": "Bar", "description": "The bartenders"},
} }
app = FastAPI() app = FastAPI()
class Item(BaseModel):
id: str
title: str
description: Union[str, None] = None
@app.get("/items/{item_id}", response_model=Item) @app.get("/items/{item_id}", response_model=Item)
async def read_main(item_id: str, x_token: str = Header()): async def read_main(item_id: str, x_token: str = Header()):
if x_token != fake_secret_token: if x_token != fake_secret_token:
@ -35,5 +34,5 @@ async def create_item(item: Item, x_token: str = Header()):
raise HTTPException(status_code=400, detail="Invalid X-Token header") raise HTTPException(status_code=400, detail="Invalid X-Token header")
if item.id in fake_db: if item.id in fake_db:
raise HTTPException(status_code=409, detail="Item already exists") raise HTTPException(status_code=409, detail="Item already exists")
fake_db[item.id] = item fake_db[item.id] = item.model_dump()
return item return item

Loading…
Cancel
Save