Код: Выделить всё
# SQLAlchemy models
class BaseModel(DeclarativeBase):
pass
class User(BaseModel):
name: str
ModelType = TypeVar("ModelType", bound=BaseModel)
class BaseRepository(Generic[ModelType]):
model = ModelType
def list(self, name_filter: str):
if not hasattr(self.model, "name"):
raise Exception(f"Invalid attribute")
...
repo = BaseRepository[User]()
repo.list("John")
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-checking