Fix SQLAlchemy list types (#2668)
* fix sqlalchemy relationship list type hints * py3.8 and py3.9 compatibility Co-authored-by: Masen Furer <m_github@0x26.net> * add missing import --------- Co-authored-by: Masen Furer <m_github@0x26.net>
This commit is contained in:
parent
0b771db10a
commit
6c49b96d9d
@ -10,6 +10,7 @@ from typing import (
|
|||||||
Any,
|
Any,
|
||||||
Callable,
|
Callable,
|
||||||
Iterable,
|
Iterable,
|
||||||
|
List,
|
||||||
Literal,
|
Literal,
|
||||||
Optional,
|
Optional,
|
||||||
Type,
|
Type,
|
||||||
@ -164,7 +165,11 @@ def get_attribute_access_type(cls: GenericType, name: str) -> GenericType | None
|
|||||||
prop = descriptor.property
|
prop = descriptor.property
|
||||||
if not isinstance(prop, Relationship):
|
if not isinstance(prop, Relationship):
|
||||||
return None
|
return None
|
||||||
return prop.mapper.class_
|
class_ = prop.mapper.class_
|
||||||
|
if prop.uselist:
|
||||||
|
return List[class_]
|
||||||
|
else:
|
||||||
|
return class_
|
||||||
elif isinstance(cls, type) and issubclass(cls, Model):
|
elif isinstance(cls, type) and issubclass(cls, Model):
|
||||||
# Check in the annotations directly (for sqlmodel.Relationship)
|
# Check in the annotations directly (for sqlmodel.Relationship)
|
||||||
hints = get_type_hints(cls)
|
hints = get_type_hints(cls)
|
||||||
|
Loading…
Reference in New Issue
Block a user