Open
Description
First Check
- I added a very descriptive title to this issue.
- I used the GitHub search to find a similar issue and didn't find it.
- I searched the SQLModel documentation, with the integrated search.
- I already searched in Google "How to X in SQLModel" and didn't find any information.
- I already read and followed all the tutorial in the docs and didn't find an answer.
- I already checked if it is not related to SQLModel but to Pydantic.
- I already checked if it is not related to SQLModel but to SQLAlchemy.
Commit to Help
- I commit to help with one of those options 👆
Example Code
from typing import Optional
from geoalchemy2.types import Geometry
from sqlmodel import Column, Field, SQLModel, cast, select
class Country(SQLModel, table=True):
class Config:
arbitrary_types_allowed = True
id: Optional[int] = Field(default=None, primary_key=True)
name: str
population: int
geometry: Geometry = Field(
sa_column=Column(Geometry(geometry_type="POLYGON", srid=3035))
)
select(
Country.name,
Country.population,
cast(Country.geometry, Geometry).ST_XMin(),
cast(Country.geometry, Geometry).ST_YMin(),
cast(Country.geometry, Geometry).ST_XMax(),
cast(Country.geometry, Geometry).ST_YMax(),
Country.geometry.ST_AsSVG(),
)
Description
I'm selecting multiple model attributes and calculated attributes and there is a mypy
error:
No overload variant of "select" matches argument types "Any", "Any", "Any", "Any", "Any", "Any", "Any"
A long list of "Possible overload variants" follows.
PS.: There is no error when I from sqlalchemy import select
. The mypy
error only happens if I from sqlmodel import select
. In the former case, however, sqlmodel.Session
complains if I use it with sqlalchemy.select
.
Operating System
Linux
Operating System Details
Docker image python:3.10.2-bullseye
SQLModel Version
0.0.6
Python Version
3.10
Additional Context
error: No overload variant of "select" matches argument types "str", "int", "Any", "Any", "Any", "Any", "Any"
note: Possible overload variants:
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, **kw: Any) -> SelectOfScalar[_TScalar_0]
note: def [_TModel_0 <: SQLModel] select(entity_0: Type[_TModel_0], **kw: Any) -> SelectOfScalar[_TModel_0]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: _TScalar_1, **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: _TScalar_1, entity_2: _TScalar_2, **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_2 <: SQLModel] select(entity_0: _TScalar_0, entity_1: _TScalar_1, entity_2: Type[_TModel_2], **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1, _TModel_2]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel, _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], entity_2: _TScalar_2, **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1, _TScalar_2]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel, _TModel_2 <: SQLModel] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], entity_2: Type[_TModel_2], **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1, _TModel_2]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, entity_2: _TScalar_2, **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1, _TScalar_2]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_2 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, entity_2: Type[_TModel_2], **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1, _TModel_2]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel, _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], entity_2: _TScalar_2, **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1, _TScalar_2]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel, _TModel_2 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], entity_2: Type[_TModel_2], **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1, _TModel_2]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: _TScalar_1, entity_2: _TScalar_2, entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _TScalar_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_3 <: SQLModel] select(entity_0: _TScalar_0, entity_1: _TScalar_1, entity_2: _TScalar_2, entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1, _TScalar_2, _TModel_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_2 <: SQLModel, _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: _TScalar_1, entity_2: Type[_TModel_2], entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1, _TModel_2, _TScalar_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_2 <: SQLModel, _TModel_3 <: SQLModel] select(entity_0: _TScalar_0, entity_1: _TScalar_1, entity_2: Type[_TModel_2], entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TScalar_0, _TScalar_1, _TModel_2, _TModel_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel, _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], entity_2: _TScalar_2, entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1, _TScalar_2, _TScalar_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel, _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_3 <: SQLModel] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], entity_2: _TScalar_2, entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1, _TScalar_2, _TModel_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel, _TModel_2 <: SQLModel, _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], entity_2: Type[_TModel_2], entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1, _TModel_2, _TScalar_3]]
note: def [_TScalar_0 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_1 <: SQLModel, _TModel_2 <: SQLModel, _TModel_3 <: SQLModel] select(entity_0: _TScalar_0, entity_1: Type[_TModel_1], entity_2: Type[_TModel_2], entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TScalar_0, _TModel_1, _TModel_2, _TModel_3]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, entity_2: _TScalar_2, entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1, _TScalar_2, _TScalar_3]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_3 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, entity_2: _TScalar_2, entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1, _TScalar_2, _TModel_3]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_2 <: SQLModel, _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, entity_2: Type[_TModel_2], entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1, _TModel_2, _TScalar_3]]
note: def [_TModel_0 <: SQLModel, _TScalar_1 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_2 <: SQLModel, _TModel_3 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: _TScalar_1, entity_2: Type[_TModel_2], entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TModel_0, _TScalar_1, _TModel_2, _TModel_3]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel, _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], entity_2: _TScalar_2, entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1, _TScalar_2, _TScalar_3]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel, _TScalar_2 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None), _TModel_3 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], entity_2: _TScalar_2, entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1, _TScalar_2, _TModel_3]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel, _TModel_2 <: SQLModel, _TScalar_3 in (Column[Any], Sequence[Any], Mapping[Any, Any], UUID, datetime, float, int, bool, bytes, str, None)] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], entity_2: Type[_TModel_2], entity_3: _TScalar_3, **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1, _TModel_2, _TScalar_3]]
note: def [_TModel_0 <: SQLModel, _TModel_1 <: SQLModel, _TModel_2 <: SQLModel, _TModel_3 <: SQLModel] select(entity_0: Type[_TModel_0], entity_1: Type[_TModel_1], entity_2: Type[_TModel_2], entity_3: Type[_TModel_3], **kw: Any) -> Select[Tuple[_TModel_0, _TModel_1, _TModel_2, _TModel_3]]
Found 1 error in 1 file (checked 6 source files)