diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-01-20 13:34:07 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2023-01-20 13:34:07 -0500 |
| commit | 2f91dd79310657814ad28b6ef64f91fff7a007c9 (patch) | |
| tree | 924c4118abc52316dc53d28917c3bbc21b926d8b /lib/sqlalchemy | |
| parent | 0a22ae63605f057866a998172d838634eea3b126 (diff) | |
| download | sqlalchemy-2f91dd79310657814ad28b6ef64f91fff7a007c9.tar.gz | |
clarify __table__, local_table
These are typed as FromClause, make sure this is stated up front
indicating Table as a subset of possible object types.
Change-Id: I15961a69d3655600249e3cfe6c4b3372f97d4485
References: #9130
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/decl_api.py | 12 | ||||
| -rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 18 |
2 files changed, 19 insertions, 11 deletions
diff --git a/lib/sqlalchemy/orm/decl_api.py b/lib/sqlalchemy/orm/decl_api.py index 844628443..ecd81c7ed 100644 --- a/lib/sqlalchemy/orm/decl_api.py +++ b/lib/sqlalchemy/orm/decl_api.py @@ -709,9 +709,13 @@ class DeclarativeBase( """ __table__: ClassVar[FromClause] - """The :class:`_schema.Table` to which a particular subclass is + """The :class:`_sql.FromClause` to which a particular subclass is mapped. + This is usually an instance of :class:`_schema.Table` but may also + refer to other kinds of :class:`_sql.FromClause` such as + :class:`_sql.Subquery`, depending on how the class is mapped. + .. seealso:: :ref:`orm_declarative_metadata` @@ -818,9 +822,13 @@ class DeclarativeBaseNoMeta(inspection.Inspectable[Mapper[Any]]): """ __table__: Optional[FromClause] - """The :class:`_schema.Table` to which a particular subclass is + """The :class:`_sql.FromClause` to which a particular subclass is mapped. + This is usually an instance of :class:`_schema.Table` but may also + refer to other kinds of :class:`_sql.FromClause` such as + :class:`_sql.Subquery`, depending on how the class is mapped. + .. seealso:: :ref:`orm_declarative_metadata` diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 9c2c9acf1..141b5c27a 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -257,15 +257,15 @@ class Mapper( this argument is automatically passed as the declared class itself. - :param local_table: The :class:`_schema.Table` or other selectable - to which the class is mapped. May be ``None`` if - this mapper inherits from another mapper using single-table - inheritance. When using Declarative, this argument is - automatically passed by the extension, based on what - is configured via the ``__table__`` argument or via the - :class:`_schema.Table` - produced as a result of the ``__tablename__`` - and :class:`_schema.Column` arguments present. + :param local_table: The :class:`_schema.Table` or other + :class:`_sql.FromClause` (i.e. selectable) to which the class is + mapped. May be ``None`` if this mapper inherits from another mapper + using single-table inheritance. When using Declarative, this + argument is automatically passed by the extension, based on what is + configured via the :attr:`_orm.DeclarativeBase.__table__` attribute + or via the :class:`_schema.Table` produced as a result of + the :attr:`_orm.DeclarativeBase.__tablename__` attribute being + present. :param polymorphic_abstract: Indicates this class will be mapped in a polymorphic hierarchy, but not directly instantiated. The class is |
