Source code for granite_storage.integrations.sqlalchemy

from __future__ import annotations

from collections.abc import Generator
from typing import Any

from sqlalchemy import select
from sqlalchemy.orm import Session


[docs] def iter_model_storage_refs( db: Session, model: Any, ref_attr_name: str ) -> Generator[Any]: ref_attr = getattr(model, ref_attr_name) stmt = select(ref_attr).where(ref_attr.is_not(None)) yield from db.execute(stmt).scalars()