Coverage for tests / test_field_sa_type.py: 100%
15 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-11-09 00:02 +0000
1from typing import Any, cast 1jklmnopqr
3from sqlalchemy import Integer, String 1jklmnopqr
4from sqlmodel import Field, SQLModel 1jklmnopqr
7def test_sa_type_class() -> None: 1jklmnopqr
8 class Item(SQLModel, table=True): 1stuvwxyzA
9 id: int = Field(primary_key=True, sa_type=Integer) 1stuvwxyzA
11 id_column = cast(Any, Item).id 1stuvwxyzA
12 assert isinstance(id_column.type, Integer) 1stuvwxyzA
15def test_sa_type_instance() -> None: 1jklmnopqr
16 class Item(SQLModel, table=True): 1abcdefghi
17 id: int = Field(primary_key=True) 1abcdefghi
18 name: str = Field(sa_type=String(50)) 1abcdefghi
20 name_column = cast(Any, Item).name 1abcdefghi
21 assert isinstance(name_column.type, String) 1abcdefghi
22 assert name_column.type.length == 50 1abcdefghi