stubs/sqlalchemy/orm/query.pyi (218 lines of code) (raw):

from typing import Any, Generic, Iterator, List, Optional, TypeVar, Union from ..sql.elements import Label from ..sql.selectable import CTE, Alias, ForUpdateArg from . import interfaces from .base import InspectionAttr from .session import Session _T = TypeVar("_T") _Q = TypeVar("_Q", bound="Query") class Query(Generic[_T]): session: Session = ... def __init__(self, entities, session: Optional[Session] = ...) -> None: ... # TODO: is "statement" always of type sqlalchemy.sql.selectable.Select ? @property def statement(self): ... def subquery( self, name: Optional[str] = ..., with_labels: bool = ..., reduce_columns: bool = ..., ) -> Alias: ... def cte(self, name: Optional[str] = ..., recursive: bool = ...) -> CTE: ... def label(self, name: str) -> Label: ... def as_scalar(self): ... @property def selectable(self): ... def __clause_element__(self): ... def enable_eagerloads(self: _Q, value: bool) -> _Q: ... def with_labels(self: _Q) -> _Q: ... def enable_assertions(self: _Q, value: bool) -> _Q: ... @property def whereclause(self): ... def with_polymorphic( self, cls_or_mappers, selectable: Optional[Any] = ..., polymorphic_on: Optional[Any] = ..., ): ... def yield_per(self: _Q, count: int) -> _Q: ... def get(self, ident) -> Optional[_T]: ... def correlate(self, *args): ... def autoflush(self: _Q, setting: bool) -> _Q: ... def populate_existing(self: _Q) -> _Q: ... def with_parent(self, instance, property: Optional[Any] = ...): ... def add_entity(self, entity, alias: Optional[Any] = ...): ... def with_session(self: _Q, session: Optional[Session]) -> _Q: ... def from_self(self, *entities): ... def values(self, *columns): ... def value(self, column): ... def with_entities(self, *entities): ... def add_columns(self, *column): ... def add_column(self, column): ... def options(self, *args): ... def with_transformation(self, fn): ... def with_hint(self, selectable, text, dialect_name: str = ...): ... def with_statement_hint(self, text, dialect_name: str = ...): ... def execution_options(self, **kwargs): ... def with_lockmode(self, mode): ... def with_for_update( self: _Q, read: bool = ..., nowait: bool = ..., of: Optional[Any] = ..., skip_locked: bool = ..., key_share: bool = ..., ) -> _Q: ... def params(self: _Q, *args, **kwargs) -> _Q: ... def filter(self: _Q, *criterion) -> _Q: ... def filter_by(self: _Q, **kwargs) -> _Q: ... def order_by(self: _Q, *criterion) -> _Q: ... def group_by(self: _Q, *criterion) -> _Q: ... def having(self: _Q, criterion) -> _Q: ... def union(self, *q): ... def union_all(self, *q): ... def intersect(self, *q): ... def intersect_all(self, *q): ... def except_(self, *q): ... def except_all(self, *q): ... def join(self: _Q, *props, **kwargs) -> _Q: ... def outerjoin(self, *props, **kwargs): ... def reset_joinpoint(self): ... def select_from(self, *from_obj): ... def select_entity_from(self, from_obj): ... def __getitem__(self, item): ... def slice(self: _Q, start: Optional[int], stop: Optional[int]) -> _Q: ... def limit(self: _Q, limit: Optional[int]) -> _Q: ... def offset(self: _Q, offset: Optional[int]) -> _Q: ... def distinct(self, *criterion): ... def prefix_with(self, *prefixes): ... def suffix_with(self, *suffixes): ... def all(self) -> List[_T]: ... def from_statement(self, statement): ... def first(self) -> Optional[_T]: ... def one_or_none(self) -> Optional[_T]: ... def one(self) -> _T: ... def scalar(self): ... def __iter__(self) -> Iterator[_T]: ... @property def column_descriptions(self): ... def instances(self, cursor, __context: Optional[Any] = ...): ... def merge_result(self, iterator, load: bool = ...): ... def exists(self): ... def count(self) -> int: ... def delete(self, synchronize_session: Union[bool, str] = ...) -> int: ... def update( self, values, synchronize_session: Union[bool, str] = ..., update_args: Optional[Any] = ..., ): ... class LockmodeArg(ForUpdateArg): @classmethod def parse_legacy_query(self, mode): ... class _QueryEntity(object): def __new__(cls, *args, **kwargs): ... class _MapperEntity(_QueryEntity): entities: Any = ... expr: Any = ... def __init__(self, query, entity) -> None: ... supports_single_entity: bool = ... use_id_for_hash: bool = ... mapper: Any = ... aliased_adapter: Any = ... selectable: Any = ... is_aliased_class: Any = ... entity_zero: Any = ... path: Any = ... def setup_entity(self, ext_info, aliased_adapter): ... def set_with_polymorphic( self, query, cls_or_mappers, selectable, polymorphic_on ): ... @property def type(self): ... @property def entity_zero_or_selectable(self): ... def corresponds_to(self, entity): ... def adapt_to_selectable(self, query, sel): ... def row_processor(self, query, context, result): ... def setup_context(self, query, context): ... class Bundle(InspectionAttr): single_entity: bool = ... is_clause_element: bool = ... is_mapper: bool = ... is_aliased_class: bool = ... name: str = ... exprs: Any = ... c: Any = ... def __init__(self, name, *exprs, **kw) -> None: ... columns: Any = ... def __clause_element__(self): ... @property def clauses(self): ... def label(self, name): ... def create_row_processor(self, query, procs, labels): ... class _BundleEntity(_QueryEntity): use_id_for_hash: bool = ... bundle: Any = ... type: Any = ... supports_single_entity: Any = ... def __init__(self, query, bundle, setup_entities: bool = ...) -> None: ... @property def entities(self): ... @property def entity_zero(self): ... def corresponds_to(self, entity): ... @property def entity_zero_or_selectable(self): ... def adapt_to_selectable(self, query, sel): ... def setup_entity(self, ext_info, aliased_adapter): ... def setup_context(self, query, context): ... def row_processor(self, query, context, result): ... class _ColumnEntity(_QueryEntity): expr: Any = ... namespace: Any = ... type: Any = ... use_id_for_hash: Any = ... column: Any = ... froms: Any = ... actual_froms: Any = ... entity_zero: Any = ... entities: Any = ... mapper: Any = ... def __init__(self, query, column, namespace: Optional[Any] = ...) -> None: ... supports_single_entity: bool = ... @property def entity_zero_or_selectable(self): ... def adapt_to_selectable(self, query, sel): ... selectable: Any = ... def setup_entity(self, ext_info, aliased_adapter): ... def corresponds_to(self, entity): ... def row_processor(self, query, context, result): ... def setup_context(self, query, context): ... class QueryContext(object): statement: Any = ... from_clause: Any = ... whereclause: Any = ... order_by: Any = ... multi_row_eager_loaders: bool = ... adapter: Any = ... froms: Any = ... for_update: Any = ... query: Any = ... session: Any = ... autoflush: Any = ... populate_existing: Any = ... invoke_all_eagers: Any = ... version_check: Any = ... refresh_state: Any = ... primary_columns: Any = ... secondary_columns: Any = ... eager_order_by: Any = ... eager_joins: Any = ... create_eager_joins: Any = ... propagate_options: Any = ... attributes: Any = ... def __init__(self, query) -> None: ... class AliasOption(interfaces.MapperOption): alias: Any = ... def __init__(self, alias) -> None: ... def process_query(self, query): ...