|
4 | 4 | """ |
5 | 5 |
|
6 | 6 | import unittest |
7 | | -from typing import Optional |
8 | 7 |
|
9 | 8 | from sqlalchemy import create_engine |
10 | 9 | from sqlmodel import Field, Session, SQLModel, select |
|
13 | 12 | class Hero(SQLModel, table=True): |
14 | 13 | """Test model for SQLModel compatibility tests""" |
15 | 14 |
|
16 | | - id: Optional[int] = Field(default=None, primary_key=True) |
| 15 | + id: int | None = Field(default=None, primary_key=True) |
17 | 16 | name: str |
18 | 17 | secret_name: str |
19 | | - age: Optional[int] = None |
| 18 | + age: int | None = None |
20 | 19 |
|
21 | 20 |
|
22 | 21 | class TestSQLModelCompatibility(unittest.TestCase): |
@@ -120,16 +119,16 @@ def test_sqlmodel_relationships(self): |
120 | 119 | """Test SQLModel relationship handling""" |
121 | 120 |
|
122 | 121 | class Team(SQLModel, table=True): |
123 | | - id: Optional[int] = Field(default=None, primary_key=True) |
| 122 | + id: int | None = Field(default=None, primary_key=True) |
124 | 123 | name: str |
125 | 124 | headquarters: str |
126 | 125 |
|
127 | 126 | class HeroWithTeam(SQLModel, table=True): |
128 | | - id: Optional[int] = Field(default=None, primary_key=True) |
| 127 | + id: int | None = Field(default=None, primary_key=True) |
129 | 128 | name: str |
130 | 129 | secret_name: str |
131 | | - age: Optional[int] = None |
132 | | - team_id: Optional[int] = Field(default=None, foreign_key="team.id") |
| 130 | + age: int | None = None |
| 131 | + team_id: int | None = Field(default=None, foreign_key="team.id") |
133 | 132 |
|
134 | 133 | # Create tables for these models |
135 | 134 | Team.metadata.create_all(self.engine) |
|
0 commit comments