mirror of
https://github.com/fastapi/sqlmodel.git
synced 2025-08-15 10:11:34 +08:00
📝 Update ModelRead to ModelPublic documentation and examples (#885)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
@ -19,7 +19,7 @@ class TeamCreate(TeamBase):
|
||||
pass
|
||||
|
||||
|
||||
class TeamRead(TeamBase):
|
||||
class TeamPublic(TeamBase):
|
||||
id: int
|
||||
|
||||
|
||||
@ -43,7 +43,7 @@ class Hero(HeroBase, table=True):
|
||||
team: Optional[Team] = Relationship(back_populates="heroes")
|
||||
|
||||
|
||||
class HeroRead(HeroBase):
|
||||
class HeroPublic(HeroBase):
|
||||
id: int
|
||||
|
||||
|
||||
@ -58,12 +58,12 @@ class HeroUpdate(SQLModel):
|
||||
team_id: Optional[int] = None
|
||||
|
||||
|
||||
class HeroReadWithTeam(HeroRead):
|
||||
team: Optional[TeamRead] = None
|
||||
class HeroPublicWithTeam(HeroPublic):
|
||||
team: Optional[TeamPublic] = None
|
||||
|
||||
|
||||
class TeamReadWithHeroes(TeamRead):
|
||||
heroes: list[HeroRead] = []
|
||||
class TeamPublicWithHeroes(TeamPublic):
|
||||
heroes: list[HeroPublic] = []
|
||||
|
||||
|
||||
sqlite_file_name = "database.db"
|
||||
@ -90,7 +90,7 @@ def on_startup():
|
||||
create_db_and_tables()
|
||||
|
||||
|
||||
@app.post("/heroes/", response_model=HeroRead)
|
||||
@app.post("/heroes/", response_model=HeroPublic)
|
||||
def create_hero(*, session: Session = Depends(get_session), hero: HeroCreate):
|
||||
db_hero = Hero.model_validate(hero)
|
||||
session.add(db_hero)
|
||||
@ -99,7 +99,7 @@ def create_hero(*, session: Session = Depends(get_session), hero: HeroCreate):
|
||||
return db_hero
|
||||
|
||||
|
||||
@app.get("/heroes/", response_model=list[HeroRead])
|
||||
@app.get("/heroes/", response_model=list[HeroPublic])
|
||||
def read_heroes(
|
||||
*,
|
||||
session: Session = Depends(get_session),
|
||||
@ -110,7 +110,7 @@ def read_heroes(
|
||||
return heroes
|
||||
|
||||
|
||||
@app.get("/heroes/{hero_id}", response_model=HeroReadWithTeam)
|
||||
@app.get("/heroes/{hero_id}", response_model=HeroPublicWithTeam)
|
||||
def read_hero(*, session: Session = Depends(get_session), hero_id: int):
|
||||
hero = session.get(Hero, hero_id)
|
||||
if not hero:
|
||||
@ -118,7 +118,7 @@ def read_hero(*, session: Session = Depends(get_session), hero_id: int):
|
||||
return hero
|
||||
|
||||
|
||||
@app.patch("/heroes/{hero_id}", response_model=HeroRead)
|
||||
@app.patch("/heroes/{hero_id}", response_model=HeroPublic)
|
||||
def update_hero(
|
||||
*, session: Session = Depends(get_session), hero_id: int, hero: HeroUpdate
|
||||
):
|
||||
@ -144,7 +144,7 @@ def delete_hero(*, session: Session = Depends(get_session), hero_id: int):
|
||||
return {"ok": True}
|
||||
|
||||
|
||||
@app.post("/teams/", response_model=TeamRead)
|
||||
@app.post("/teams/", response_model=TeamPublic)
|
||||
def create_team(*, session: Session = Depends(get_session), team: TeamCreate):
|
||||
db_team = Team.model_validate(team)
|
||||
session.add(db_team)
|
||||
@ -153,7 +153,7 @@ def create_team(*, session: Session = Depends(get_session), team: TeamCreate):
|
||||
return db_team
|
||||
|
||||
|
||||
@app.get("/teams/", response_model=list[TeamRead])
|
||||
@app.get("/teams/", response_model=list[TeamPublic])
|
||||
def read_teams(
|
||||
*,
|
||||
session: Session = Depends(get_session),
|
||||
@ -164,7 +164,7 @@ def read_teams(
|
||||
return teams
|
||||
|
||||
|
||||
@app.get("/teams/{team_id}", response_model=TeamReadWithHeroes)
|
||||
@app.get("/teams/{team_id}", response_model=TeamPublicWithHeroes)
|
||||
def read_team(*, team_id: int, session: Session = Depends(get_session)):
|
||||
team = session.get(Team, team_id)
|
||||
if not team:
|
||||
@ -172,7 +172,7 @@ def read_team(*, team_id: int, session: Session = Depends(get_session)):
|
||||
return team
|
||||
|
||||
|
||||
@app.patch("/teams/{team_id}", response_model=TeamRead)
|
||||
@app.patch("/teams/{team_id}", response_model=TeamPublic)
|
||||
def update_team(
|
||||
*,
|
||||
session: Session = Depends(get_session),
|
||||
|
Reference in New Issue
Block a user