Coverage for docs_src / tutorial / code_structure / tutorial001_py39 / models.py: 100%

14 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-01-06 21:09 +0000

1from typing import Optional 1abcdefghi

2 

3from sqlmodel import Field, Relationship, SQLModel 1abcdefghi

4 

5 

6class Team(SQLModel, table=True): 1abcdefghi

7 id: Optional[int] = Field(default=None, primary_key=True) 1abcdefghi

8 name: str = Field(index=True) 1abcdefghi

9 headquarters: str 1abcdefghi

10 

11 heroes: list["Hero"] = Relationship(back_populates="team") 1abcdefghi

12 

13 

14class Hero(SQLModel, table=True): 1abcdefghi

15 id: Optional[int] = Field(default=None, primary_key=True) 1abcdefghi

16 name: str = Field(index=True) 1abcdefghi

17 secret_name: str 1abcdefghi

18 age: Optional[int] = Field(default=None, index=True) 1abcdefghi

19 

20 team_id: Optional[int] = Field(default=None, foreign_key="team.id") 1abcdefghi

21 team: Optional[Team] = Relationship(back_populates="heroes") 1abcdefghi